android Sqlite 四大语法注解
参考原文
- SQLiteDataBase对象的query()接口
- SQLiteDataBase对象的insert()接口
- SQLiteDataBase对象的update()接口
- SQLiteDataBase对象的delete()接口
SQLiteDataBase对象的query()接口
- public Cursor query (String table, String[] columns, String selection, String[] selectionArgs,String groupBy, String having,String orderBy,String limit)
Parameters | 注解 |
---|---|
table | 需要查询的表名 |
columns | 想要显示的列,若为空则返回所有列,不建议设置为空,如果不是返回所有列 |
selection | where子句,声明要返回的行的要求,如果为空则返回表的所有行 |
selectionArgs | where子句对应的条件值 |
groupBy | 分组方式,若为空则不分组 |
having | having条件,若为空则返回全部(不建议) |
orderBy | 排序方式,为空则为默认排序方式 |
limit | 限制返回的记录的条数,为空则不限制 |
示例:
ContentValues cv = new ContentValues();
String[] args = {String.valueOf("a")};
query("user", new String[] { "username","password" },"username=?", args, null,null, null, null);
SQLiteDataBase对象的insert()接口
- public long insert (String table, String nullColumnHack, ContentValues values)
Parameters | 注解 |
---|---|
table | 要插入数据的表的名称 |
nullColumnHack | 当values参数为空或者里面没有内容的时候,我们insert是会失败的(底层数据库不允许插入一个空行),为了防止这种情况,我们要在这里指定一个 列名,到时候如果发现将要插入的行为空行时,就会将你指定的这个列名的值设为null,然后再向数据库中插入 |
values | 一个ContentValues对象,类似一个map.通过键值对的形式存储值 |
示例:
ContentValues cv = new ContentValues();
cv.put("username", "a");
cv.put("password", "b");
insert("user", null, cv);
SQLiteDataBase对象的update()接口
- public int update (String table, ContentValues values, String whereClause, String[] whereArgs)
Parameters | 注解 |
---|---|
table | 要更新的表名 |
values | 一个ContentValues对象,类似一个map.通过键值对的形式存储值 |
whereClause | 可选的where语句 |
whereArgs | 语句中表达式的?占位参数列表 |
示例:
ContentValues cv = new ContentValues();
cv.put("username", "c");
cv.put("password", "d");
String[] args = {String.valueOf("a")};
update("user", cv, "username=?",args);
SQLiteDataBase对象的delete()接口
- public int delete (String table, String whereClause, String[] whereArgs)
Parameters | 注解 |
---|---|
table | 从哪张表删除数据 |
values | 可选的where语句 |
whereClause | whereClause语句中表达式的?占位参数列表 |
示例:
ContentValues cv = new ContentValues();
String[] args = {String.valueOf("c")};
delete("user", "username=?", args);