在android中对数据库做增删改查有两种方式分别是SQLiteDatabase这个类中的哪几个方法 .
时间: 2024-02-25 12:54:43 浏览: 27
在 Android 中,对数据库进行增删改查可以使用 SQLiteDatabase 这个类中的多个方法。以下是两种常见的方式及其对应的方法:
1. 使用 SQL 语句
可以使用 SQL 语句来进行增删改查操作,具体可以使用 SQLiteDatabase 的 execSQL() 方法。例如:
```
SQLiteDatabase db = dbHelper.getWritableDatabase();
// 插入数据
String sqlInsert = "INSERT INTO user(name, age) VALUES('Tom', 18);";
db.execSQL(sqlInsert);
// 删除数据
String sqlDelete = "DELETE FROM user WHERE name='Tom';";
db.execSQL(sqlDelete);
// 更新数据
String sqlUpdate = "UPDATE user SET age=20 WHERE name='Tom';";
db.execSQL(sqlUpdate);
// 查询数据
String sqlQuery = "SELECT * FROM user WHERE age>=18;";
Cursor cursor = db.rawQuery(sqlQuery, null);
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
// 处理查询结果
}
cursor.close();
```
在这个示例中,我们首先通过 dbHelper.getWritableDatabase() 方法获取到一个 SQLiteDatabase 对象,然后使用 execSQL() 方法执行 SQL 语句。插入、删除和更新的 SQL 语句可以直接使用 execSQL() 方法执行,查询的 SQL 语句需要使用 rawQuery() 方法执行,并将查询结果存储在 Cursor 中。
2. 使用 ContentValues
除了使用 SQL 语句,还可以使用 ContentValues 来进行增删改查操作。具体可以使用 SQLiteDatabase 的 insert()、delete()、update() 和 query() 方法。例如:
```
SQLiteDatabase db = dbHelper.getWritableDatabase();
// 插入数据
ContentValues values = new ContentValues();
values.put("name", "Tom");
values.put("age", 18);
db.insert("user", null, values);
// 删除数据
String whereClause = "name=?";
String[] whereArgs = new String[] {"Tom"};
db.delete("user", whereClause, whereArgs);
// 更新数据
ContentValues values = new ContentValues();
values.put("age", 20);
String whereClause = "name=?";
String[] whereArgs = new String[] {"Tom"};
db.update("user", values, whereClause, whereArgs);
// 查询数据
String[] columns = new String[] {"name", "age"};
String selection = "age>=?";
String[] selectionArgs = new String[] {"18"};
Cursor cursor = db.query("user", columns, selection, selectionArgs, null, null, null);
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
// 处理查询结果
}
cursor.close();
```
在这个示例中,我们使用 ContentValues 对象来存储插入、更新的数据,然后使用 insert()、delete() 和 update() 方法执行增删改操作,使用 query() 方法执行查询操作。需要注意的是,插入数据时需要将 ContentValues 对象作为第三个参数传递给 insert() 方法;更新数据时需要使用 whereClause 和 whereArgs 参数来指定更新条件;查询数据时需要使用 columns、selection 和 selectionArgs 参数来指定查询的列、查询条件和查询条件的参数。