Andoid数据存储之SQLite数据库

SQLite是一个嵌入式的并且是一个轻量级的数据库;

SQLite数据库支持大部分SQL语法, 允许使用SQL语句操作数据库, 其本质是一个文件, 不需要安装启动;

SQLite数据库打开只是打开了一个文件的读写流, 如果有大数据量读写, 需要高并发存储, 那么就不应该使用SQLite;

        Android系统提供了SQLiteDatabase代表一个数据库,一旦应用程序获得了代表指定数据库的SQLiteDatabase对象,接下来就可以通过SQLiteDatabase对象来管理. 操作数据库了。SQLiteDatabase对象也为我们提供了一些方法来操作数据库:

execSQL(String sql)    执行一条SQL语句,没有返回值
execSQL(String sql,Object[] bindArgs) 执行带占位符的SQL语句,没有返回值
insert(String table,String nullColumnHack,ContentValues  values)    插入一条记录
update(String table,ContentValues values,String whereClause,String[]  whereArgs)    修改记录
delete(String table,String whereClause,String[]  whereArgs)    删除一条记录
query(String table,String[] columns,String selection,String[]  selectionArgs,String groupBy,String having,String  orderBy)    查询一条记录
query(String table,String[] columns,String selection,String[]  selectionArgs,String groupBy,String having,String  orderBy,String limit)
执行查询,limit用于控制最多查询几条记录 query(boolean distinct,String table,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy,String limit) 执行查询,distinct是控制是否去除重复值 rawQuery(String sql,String[] selectionArgs) 执行带占位符的sql查询,带返回值 beginTransaction(); 开始事务 endTransaction(); 结束事务 close() 关闭数据库

        上面的查询方法都返回一个Cursor对象,Android中的Cursor类似于JDBC的ResultSet,Cursor同样提供了如下方法来移动查询结果的记录指针.Cursor游标常用方法:

getCount()    获得总的数据项数
isFirst()    判断是否第一条记录
isLast()    判断是否最后一条记录
moveToFirst()    移动到第一条记录
moveToLast()    移动到最后一条记录
move(int offset)    移动到指定记录
moveToNext()    移动到下一条记录
moveToPrevious()    移动到上一条记录
getColumnIndexOrThrow(String  columnName)    根据列名称获得列索引
getInt(int columnIndex)    获得指定列索引的int类型值
getString(int columnIndex)    获得指定列缩影的String类型值

        在实际开发中采用SQLiteDatabase的方法打开数据库十分烦琐,所以android为我们提供了SQLiteOpenHelper帮助类。通常都会继承SQLiteOpenHelper开发子类,并通过该子类的getReadableDatabase()  getWritableDatabase()方法打开数据库。 

下面通过一个实例来说明SQLiteOpenHelper帮助类的具体操作:

 

posted @ 2014-11-14 15:43  Summers  阅读(326)  评论(0编辑  收藏  举报