Android系统下的SQLite不具有创建何管理数据库的接口,通过编码来创建数据库。
创建一个SQLiteOpenHelper类的子类来处理数据库所有的操作,例如,创建数据库,创建表,插入和删除记录等。
创建SQLiteDatabase的表、视图和触发器等对象后,就可以对数据库进行数据的添加、查询、更新和删除操作。
-
插入、删除、更新:
使用SQLiteDatabase对象执行SQL语句的方法db.execSQL(String statement),执行INSERT、DELETE、UPDATE和CREATE TABLE之类有更改行为的SQL语句。
在插入之前,需要首先通过可读写权限连接数据库:
getWritableDatabase()
获取连接之后可以通过两种方式完成数据插入:
1.利用execSQL(sql)完成插入
2.利用ContentValues类+db.insert()完成插入 -
查询:
使用db.rawQuery()和db.Query()方法,可以执行SELECT查询语句。 -
除了直接执行SQL语句方法之外,SQLiteDatabese还专门提供了对应于添加、删除、更新、查询的操作方法:insert()、delete()、update()和query()。
SQLiteOpenHelper提供两个方法来操作数据库:
1.onCreate(SQLiteDatabse db):创建数据库时执行,可以在其中执行创建表、字段、视图和触发器等。
2.onUpgrade(SQLiteDatabase db, int oldVersion,int newVewsion):当数据库需要更新执行时,需要实现更新版本时表的修改、删除、创建新表等操作。
管理游标Cursor
- 游标Cursor时数据库系统为用户开设的一个数据缓冲区,存放SQL语句查询的执行结果。
- Cursor游标常用方法:
-
getCount():获得总的数据项数 isFirst():判断是否是第一条记录 isLast():判断是否是最后一条记录 moveToFirst():移动到第一条记录 moveToLast():移动到最后一条记录 move(int offset):移动到指定记录 moveToNext():移动到下一条记录 moveToPrevious():移动到上一条记录 getColumnIndexOrThrow(String columnName):根据列名称获得索引 getInt(int columnIndex):获得指定列索引的int类型值; getString(int columnIndex):获得指定列索引的String类型值