SQLite数据库的增删改查
数据库除了execSQL()和rawQuery()方法外,SQLiteDatabase还专门提供了
对应于添加、删除、更新、查询的操作方法: insert()、delete()、update()和query() 。
这些方法实际上是给那些不太了解SQL语法的菜鸟使用的,对于熟悉SQL语法的程序
员而言,直接使用execSQL()和rawQuery()方法执行SQL语句就能完成数据的添加、
删除、更新、查询操作。
代码如下:
SQLiteDatabase mDB = databaseHelper.getWritableDatabase();
1.添加:
mDB.insert(table, null, values);
第一个参数为表名,第二个参数为用于指定空值字段的名称,第三个参数为内容。
不管第三个参数是否包含数据,执行Insert()方法必然会添加一条记录,如果第三个
参数为空,会添加一条除主键之外其他字段值为Null的记录。Insert()方法内部实际
上通过构造insert SQL语句完成数据的添加,Insert()方法的第二个参数用于指定空值
字段的名称.
2.删除:
mDB.delete(table, whereClause, whereArgs);
第一个参数是表名,第二个要删除的条件设置,第三个是对第二个占位符进行补充的
内容。
3.修改:
mDB.update(table, values, whereClause, whereArgs);
第一个参数是表名,第二个参数是内容,第三个要删除的条件设置,第四个是对
第二个占位符进行补充的内容。
4.查询:
mDB.query(table, columns, selection, selectionArgs, groupBy,
having, orderBy,limit);
table:表名。相当于select语句from关键字后面的部分。如果是多表联合查询,
可以用逗号将两个表名分开。
columns:要查询出来的列名。相当于select语句select关键字后面的部分。
selection:查询条件子句,相当于select语句where关键字后面的部分,在条件子
句允许使用占位符“?”
selectionArgs:对应于selection语句中占位符的值,值在数组中的位置与占位符
在语句中的位置必须一致,否则就会有异常。
groupBy:相当于select语句group by关键字后面的部分。
having:相当于select语句having关键字后面的部分。
orderBy:相当于select语句order by关键字后面的部分,如:personid desc, age asc;
limit:指定偏移量和获取的记录数,相当于select语句limit关键字后面的部分。