功插入要根据表格创建时的字段限制来决定,
比如少 name,那么此记录会插入,只是
name 字段的值为 NULL;如果少 id,那么记录不会被插入,因为创建时指定了 NOT
NULL. 可 以 通 过 以 下 指 令 来 查 看 结 果 : adb shell 执 行 后 进 入 shell ; cd
/data/data/cn.demo.sqlsqlite3 database.db 进入了 sqlite 操作界面。.help 可以看到命令帮助。
.dump 可以看到数据库中的数据。
为了方便使用,可以自定义一个
insert 函数,将值通过参数传入,而 ContentValues 设
置则在函数内部实现。
java 代码:
public void insert(String id, String name, int age) {
if( mDb == null ) mDb = getWritableDatabase(); ContentValues v = new ContentValues();
v.put("id", id); v.put("name", name);
if(age > 0) v.put("age", age); mDb.insert(TBL_NAME, "null", v);
从表格中查询记录
SQL 语句:SELECT column list FROM table WHERE expr ORDER
BY column list; 通过 SQLiteDatabase 类的 query()函数
Java 代码:
Cursor SQLiteDatabase.query(String table, String[] columns, String selection, String[]
selectionArgs,
String groupBy, String having, String orderBy);
Parameters:
table 要更新的记录所在的表名。
values 要更新的字段值。
whereClause Where 子句。更新哪些记录。
whereArgs Where 子句中的'?'替换串。
执行
update 操作时,如果只给部分字段赋值,那么 update 后,没有赋值的字段仍然保
持原来的值不变。从表格中删除记录:
java 代码:
int SQLiteDatabase.delete(String table, String whereClause, String[] whereArgs);
Android 要深入研究 Service
Service Broker 基础应用(上)