SQLiteDatabase的insert方法的签名为long insert(String table,String nullColumnHack,ContentValues values),这个插入方法的参数说明如下:
table:代表想插入数据的表名。
nullColumnHack:代表强行插入null值的数据列的列名。
values:代表一行记录的数据。
insert方法插入的一行记录使用ContentValues存放,ContentValues类似于Map,它提供了put(String key,Xxx value)(其中key为数据列的列名)方法用于存入数据、getAsXxx(String key)方法用于取出数据。
例如如下语句:
ContentValues values=new ContentValues()
values.put("name","孙悟空"):
values.put("age",500)
//返回新添记录的行号,该行号是一个内部直,与主键id无关,发生错误返回-1
long rowid=db.insert("person_inf",null,values)
2、使用update方法更新数据
SQLiteDatabase的update方法签名为update(String table,ContentValues values,String whereClause,String[] whereArgs),这个更新方法的参数说明如下:
table:代表想要更新数据的表名。
values:代表想要更新的数据。
whereClause:满足该whereClause子句的记录将会被更新。
whereArgs:用于为whereArgs子句传递参数。
例如我们想要更新person_inf表中所有主键大于20的人的人名,可调用如下方法:
ContentValues values=new ContentValues()
//存放更新后的人名
values.put("name","新人名")
int result=db.update("person_inf",values,"_id>?",new Integer[]{20})
3、使用delete方法删除记录
SQLiteDatabase的delete方法签名为delete(String table,String whereClause,String[] whereArgs),这个删除的参数说明如下:
table:代表想删除数据的表名。
whereClause:满足该whereClause子句的记录将会被删除。
whereArgs:用于为whereArgs子句传入参数。
删除person_inf表中所有人名以孙开头的记录
int result=db.delete("person_inf","person_name like ?",new String[]{"孙_"})
4、使用query方法查询记录
SQLiteDatabase的query方法签名为Cursor query(boolean distinct,String table,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy,String limit),这个query方法的参数说明如下。
distinct:指定是否去除重复记录。
table:执行查询数据的表名。
columns:要查询出来的列名。
selection:查询条件子句。
selectionArgs:用于为selection子句中占位符传入参数值,值在数组中的位置与占位符在语句中的位置必须一致,否则就会有异常。
groupBy:用于控制分组。
having:用于对分组进行过滤。
orderBy:用于对记录进行排序。
limit:用于进行分页。
例如查询出person_inf表中人名以孙开头的数据
Cursor cursor=db.query("person_inf",new String[]{"_id,name,age"},"name like ?",new String []{"孙%"},null,null,"personid desc","5,10")
cursor.close()
默认情况下,SQLite会自动存在一个RowID列,从1开始,每添加一条记录+1 当设置了主键,而且主键的类型为integer时,查询RowID等于主键 主键设置为integer时,对rowid和主键的查询情况可用sql语句。
SQLite 的 INSERT INTO 语句用于向数据库的某个表中添加新的数据行。
语法:
INSERT INTO 语句有两种基本语法,如下所示:
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)]VALUES (value1, value2, value3,...valueN)
在这里,column1, column2,...columnN 是要插入数据的表中的列的名称。
如果要为表中的所有列添加值,您也可以不需要在 SQLite 查询中指定列名称。但要确保值的顺序与列在表中的顺序一致。SQLite 的 INSERT INTO 语法如下:
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN)欢迎分享,转载请注明来源:内存溢出
评论列表(0条)