您的位置:首页 > 移动开发 > Android开发

Android笔记之SQLite

2014-10-25 11:48 134 查看
一、定义:一种轻量级的数据库,支持结构化查询语言
二、在Android中的应用
1.SQLiteOpenHelper
①onCreate():当第一次运行时调用此方法,如果数据库已存在则不调用,不存在则调用,一般写一些创建数据库的语句
②onUpgrade():当数据库版本升级后会调用此方法,版本号从1开始,然后2,3...,一般会执行删除表等操作
③onDowngrade():当数据库版本降级后调用此方法
④onOpen():当打开数据库后会调用此方法
2.SQLiteDatabases
该类封装了一些执行SQL命令的方法,比如insert、query、exeSQL等
(1)insert(String table,String nullColumnHack,ContentValues values)
Sql=INSERT INTO tableName(_id,name) VALUES(1,'TOM');
table:数据库中的表名
nullColumnHack:插入值为NULL的字段,注意:ContentValue对象仅初始化不能put。
values:表示插入字段所对应的值,使用put方法
(2)query(boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)
Sql= Distinct tableName _id,name,... WHERE _id=? name=? GROUPBY HAVING ORDERBY
distinct:结果集无重复
table:指的是表名
columns:所要查询的字段
selection:条件子句
selectionArgs:给出条件子句的值,即?部分,例如:new String[]{1,'张三'}
groupBy:给查询结果分组
having:为组设置having
orderBy:对查询结果进行排序,NULL为默认排序
limit:返回固定结果的条目数,即分页
※Cursor:返回一个结果集,内置移动游标等方法,获取结果集中的值
①取值之前要移动游标,一般为moveToFirst
②获取值getXXX(int columnIndex)
③ columnIndex
= curcor.getColumnIndexOrThrow("字段名")
(3)update((String table, ContentValues values, String whereClause, String[] whereArgs))
Sql= UPDATE tableName SET _id=1,name='张三' WHERE _id=2
table:数据库的表名
values:代表要修改的值,修改方法还是put(key,values)
whereClause:条件子句,比如id=? AND name=?
whereArgs:为whereClause中的?赋值,比如:new String[]{"1","张三"}
(4)delete(String table, String whereClause, String[] whereArgs)
Sql=DELETE FROM tableName WHERE _id=1
table:数据库的表名
whereClause:where子句,比如:_id=?
whereArgs:where子句中?的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: