在Android开发中,常常需要使用数据库进行数据的存储和管理。本文将针对Android中的数据库常见操作进行实例分析,包括创建数据库、创建数据表、插入数据、查询数据、删除数据等操作。
Android中数据库常见操作实例分析
在Android开发中,常常需要使用数据库进行数据的存储和管理。本文将针对Android中的数据库常见操作进行实例分析,包括创建数据库、创建数据表、插入数据、查询数据、删除数据等操作。
创建数据库
创建数据库的过程需要继承SQLiteOpenHelper类,重写onCreate()和onUpgrade()方法。
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "mydata.db"; //数据库名称
private static final int DB_VERSION = 1; //数据库版本号
public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
//创建表
String sql = "CREATE TABLE IF NOT EXISTS users(_id INTEGER PRIMARY KEY, username TEXT, password TEXT)";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//升级数据库
String sql = "DROP TABLE IF EXISTS users";
db.execSQL(sql);
onCreate(db);
}
}
创建数据表
在onCreate()方法中创建表。通过调用execSQL()方法执行创建表的SQL语句。
@Override
public void onCreate(SQLiteDatabase db) {
//创建表
String sql = "CREATE TABLE IF NOT EXISTS users(_id INTEGER PRIMARY KEY, username TEXT, password TEXT)";
db.execSQL(sql);
}
插入数据
使用ContentValues对象存储需要插入的数据,调用insert()方法将数据插入到数据库中。
ContentValues values = new ContentValues();
values.put("username", "Tom");
values.put("password", "123456");
long id = db.insert("users", null, values);
查询数据
使用query()方法进行查询,参数包括表名、列名、查询语句、查询条件等。查询结果存储在Cursor对象中,可以通过moveToFirst()和moveToNext()等方法进行遍历。
Cursor cursor = db.query("users", null, null, null, null, null, null);
if (cursor.moveToFirst()) {
do {
int id = cursor.getInt(cursor.getColumnIndex("_id"));
String username = cursor.getString(cursor.getColumnIndex("username"));
String password = cursor.getString(cursor.getColumnIndex("password"));
} while (cursor.moveToNext());
}
删除数据
使用delete()方法进行删除,参数包括表名、删除条件等。
int count = db.delete("users", "username=?", new String[]{"Tom"});
示例1:创建学生信息表
@Override
public void onCreate(SQLiteDatabase db) {
//创建学生信息表
String sql = "CREATE TABLE IF NOT EXISTS students(_id INTEGER PRIMARY KEY, name TEXT, age INTEGER, gender TEXT)";
db.execSQL(sql);
}
示例2:查询年龄大于等于18岁的学生信息
Cursor cursor = db.query("students", null, "age>=?", new String[]{"18"}, null, null, null);
if (cursor.moveToFirst()) {
do {
int id = cursor.getInt(cursor.getColumnIndex("_id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
String gender = cursor.getString(cursor.getColumnIndex("gender"));
} while (cursor.moveToNext());
}
以上是Android中数据库常见操作实例分析的完整攻略,通过本文的实例介绍,大家应该对Android中数据库的操作有了更深入的了解。
本文标题为:Android中数据库常见操作实例分析
基础教程推荐
- PostgreSQL12同步流复制搭建及主备切换方式 2023-07-21
- MYSQL数据库表结构优化方法详解 2023-12-06
- 解决Oracle模拟事务提交、表锁,处理表锁问题 2023-07-23
- 记一次MySQL的优化案例 2024-01-01
- Redis缓冲区溢出及解决方案分享 2023-07-13
- PostgreSQL12.5中分区表的一些操作实例 2023-07-21
- redis哨兵模式说明与搭建详解 2023-07-12
- SQL Server 2019完整安装教程(最新最详细!) 2023-07-29
- Python之tkinter面板PanedWindow的使用 2023-07-28
- MySQL8.x使用GRANT为用户赋权时报错的解决 2023-07-26