安卓sqlite数据库增删改查
时间: 2024-12-28 08:20:08 浏览: 5
### 如何在安卓应用中实现SQLite数据库的CRUD操作
#### 创建(Create)
为了创建记录,在`SQLiteDatabase`对象上调用`insert()`方法。此方法接受三个参数:表名、可选的空列黑客以及包含键值对的内容值对象。
```java
ContentValues values = new ContentValues();
values.put(KEY_NAME, name);
values.put(KEY_AGE, age);
// 插入行到表格
db.insert(TABLE_CONTACTS, null, values);
```
上述代码展示了如何向名为`TABLE_CONTACTS`的数据表插入新数据[^1]。
#### 查询(Read)
查询操作通过调用`query()`函数完成,该函数返回一个游标对象用于遍历结果集。下面的例子说明了怎样获取所有联系人的列表:
```java
String[] columns = {KEY_ID, KEY_NAME, KEY_AGE};
Cursor cursor = db.query(TABLE_CONTACTS,
columns,
null,
null,
null,
null,
null);
if (cursor != null) {
cursor.moveToFirst();
}
while (!cursor.isAfterLast()) {
Contact contact = cursorToContact(cursor);
contacts.add(contact);
cursor.moveToNext();
}
```
这段代码片段实现了从`TABLE_CONTACTS`读取所有条目并将其转换成Java对象的过程[^2]。
#### 更新(Update)
更新现有记录可以通过调用`update()`来执行,它同样接收四个主要参数——表名、要设置的新字段及其对应的值、WHERE子句条件字符串和相应的替换参数数组。
```java
ContentValues updatedValues = new ContentValues();
updatedValues.put(KEY_NAME, "New Name");
updatedValues.put(KEY_AGE, 30);
String where = KEY_ID + "=" + id;
db.update(TABLE_CONTACTS, updatedValues , where, null);
```
这里展示了一个简单的例子,其中ID等于给定变量`id`的一行被修改为新的名字和年龄。
#### 删除(Delete)
删除特定记录可通过指定唯一标识符作为过滤器来进行;这通常涉及到构建合适的where语句以匹配目标项。
```java
String where = KEY_ID + "=" + id;
db.delete(TABLE_CONTACTS, where, null);
```
以上命令会移除满足条件的第一条记录。
阅读全文