您的位置:首页 > 产品设计 > UI/UE

SQLiteDatabase中query、insert、update、delete方法参数说明

2016-04-08 13:55 585 查看
1、SQLiteDataBase对象的query()接口:

public Cursor query (String table,String[] columns,String selection,String[] selectionArgs,

                              String groupBy,String having,String orderBy,String limit)

Query the given table,returning a
Cursor
overthe
result set.

Parameters
tableThe table name to compile the query against.(要查询的表名.)
columnsA list of which columns to return. Passing null will return allcolumns,which is discouraged to prevent reading data from storagethat isn't going to be used.(想要显示的列,若为空则返回所有列,不建议设置为空,如果不是返回所有列)
selectionA filter declaring which rows to return,formatted as an SQL WHEREclause (excluding the WHERE itself). Passing null will return allrows for the given table.(where子句,声明要返回的行的要求,如果为空则返回表的所有行。)
selectionArgsYou may include ?s in selection,which will be replaced by thevalues from selectionArgs,in order that they appear in theselection. The values will be bound as Strings.( where子句对应的条件值)
groupByA filter declaring how to group rows,formatted as an SQL GROUP BYclause (excluding the GROUP BY itself). Passing null will cause therows to not be grouped.(分组方式,若为空则不分组.)
havingA filter declare which row groups to include in the cursor,if rowgrouping is being used,formatted as an SQL HAVING clause(excluding the HAVING itself). Passing null will cause all rowgroups to be included,and is required when row grouping is notbeing used.(having条件,若为空则返回全部(不建议))
orderByHow to order the rows,formatted as an SQL ORDER BY clause(excluding the ORDER BY itself). Passing null will use the defaultsort order,which may be unordered.(排序方式,为空则为默认排序方式)
limitLimits the number of rows returned by the query,formatted as LIMITclause. Passing null denotes no LIMIT clause.(限制返回的记录的条数,为空则不限制)
Returns

A
Cursor
object,which
is positioned before the first entry. Notethat
Cursor
sare
not synchronized,see the documentation for more details.

示例:

ContentValues
cv =
new
ContentValues();

String[]
args = {String.valueOf("a")};


query("user",new
String[] { "username","password" },"username=?",args,null,null,null,
null);


2、SQLiteDataBase对象的insert()接口:



publiclong insert (String table,String nullColumnHack,ContentValues values)

Convenience method forinserting a row into the database.

Parameters
tablethe table to insert the row into(要插入数据的表的名称)
nullColumnHackoptional; may be
null
.SQL doesn't allow inserting a completely empty row without namingat least one column name. If yourprovided
values
isempty,
no column names are known and an empty row can't beinserted. If not set to null,the
nullColumnHack
parameterprovides the name of nullable column
name to explicitly insert aNULL into in the case where your
values
isempty.( 当values参数为空或者里面没有内容的时候,我们insert是会失败的(底层数据库不允许插入一个空行),为了防止这种情况,我们要在这里指定一个列名,到时候如果发现将要插入的行为空行时,就会将你指定的这个列名的值设为null,然后再向数据库中插入。)
valuesthis map contains the initial column values for the row. The keysshould be the column names and the values the columnvalues(一个ContentValues对象,类似一个map.通过键值对的形式存储值。)
Returns

the row ID of the newly insertedrow,or -1 if an error occurred

示例:

ContentValues
cv =
new
ContentValues();

cv.put(
"username"
,
"a");
cv.put(
"password"
,
"b");
insert("user",
null
,cv);


3、SQLiteDataBase对象的update()接口:


publicint update (String table,ContentValues values,String whereClause,String[] whereArgs)

Convenience method for updatingrows in the database.

Parameters
tablethe table to update in(要更新的表名)
valuesa map from column names to new column values. null is a valid valuethat will be translated to NULL.(一个ContentValues对象,类似一个map.通过键值对的形式存储值。)
whereClause

whereArgs
the optional WHERE clause to apply when updating. Passing null willupdate all rows.(可选的where语句)

the group of args to dealwith(whereClause语句中表达式的?占位参数列表)
Returns

the number of rows affected

ContentValues
cv =
new
ContentValues();

cv.put(
"username"
,
"c");
cv.put(
"password"
,
"d");
String[] args = {String.valueOf("a")};

update("user",cv,
"username=?"
,args)


4、SQLiteDataBase对象的delete()接口:


publicint delete (String table,String whereClause,String[] whereArgs)

Convenience method for deletingrows in the database.

Parameters
tablethe table to delete from
whereClause

whereArgs
the optional WHERE clause to apply when deleting. Passing null willdelete all rows.(可选的where语句)

the optional WHERE clauseto apply when updating. Passing null will update allrows.(whereClause语句中表达式的?占位参数列表)
Returns

the number of rows affected if awhereClause is passed in,0 otherwise. To remove all rows and get acount pass "1" as the whereClause.

示例:


ContentValues
cv =
new
ContentValues();


String[] args = {String.valueOf("c")};

delete("user",
"username=?"
,args);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: