SQLite主要特点:
- 轻量级:一个动态库,单文件
- 独立性:没有依赖,无需安装
- 隔离性:全部在一个文件夹中
- 跨平台:支持众多操作系统
- 多语言接口,支持众多编程语言
关于事务处理的安全性问题:
- 通过数据库上的独占性和共享锁来实现独立业务处理
- 多个进程可以在同一时间从同一数据库读取数据,但只有一个可以写入数据。
关于SQLite的数据类型:
据SQLtie支持NULL(空值)、INTEGER(整型值)、REAL(浮点值)、TEXT(字符串值)和BLOB(二进制对象)数据类型。
动态数据类型(弱引用):
当某个值插入到数据库时,SQLite将会检查它的类型,如果该类型与关联的列不匹配,SQLite则会尝试将该值转换成该列的类型,如果不能转换,则该值将作为本身的类型储存。
SQLiteDatabase:
- 提供了一些管理SQLite数据库的类
- 提供创建,删除,执行SQL命令,并执行其他常见的数据库管理任务的方法
- 每个程序的数据库名字是唯一的
SQLiteDatabase的一些常用方法:
- void/execSQL(String sql) <Execute a single SQL statement that is NOT a SELECT or any other SQL statement that returns data.>{
SQLException if the SQL string is invalid - void/insert(Sring table,String nullColumnHack,ContentValues values) <method for inserting a row into the database>
- int/delete(String table,String whereClause,String[]whereArgs) <method for deleting rows in the database.>
- int/update(String table,ContentValuese values,String whereClause,String[] whereArgs) <method for updating rows in the database.>
- Cursor/rawQuery(String sql,String[] selctionArgs) <Runs the provided SQL and returns a Cursor over the result set.>
- Cursor/query(String table,String[]columns,String selection,String[]selectionArgs,String groupBy,String having,String oderBy)<Query the given table ,returning a Cursor over the result set.>
<编写SQLite语句操作数据库>:
创建数据库并打开:static SQLiteDatabase/openOrCreateDatabase(name,mode,factory)
SQLiteDatabase database = openOrCreateDatabase("