01-数据库(SQLite)特点
- 创建数据库的表时可以不指定数据类型,例如:
CREATE TABLE person(id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20))
CREATE TABLE person(id INTEGER PRIMARY KEY AUTOINCREMENT, name)
- SQLite支持大部分标准SQL语句,增删改查语句都是通用的,分页查询语句和MySQL相同
SELECT * FROM person LIMIT 20 OFFSET 10
SELECT * FROM person LIMIT 10,20
- SQLite与MySql的不同之处
主键自增长: SQLite 是 autoincrement , MySql 是 auto_increment
主键: SQLite主键一般定义为_id,在做查询时要求主键列名必须是_id(本身 是_id,可以起别名),不然拿不到主键值。
- 获取可读数据库、可写数据库的区别
可读的数据库也有可能可以写,可读的数据库在获取实例时有可能拿到上 一次可写的数据库
02--创建数据库
- 定义类继承SQLiteOpenHelper
- 声明构造函数,4个参数 //context 上下文对象 name 数据库名称 factory游标结果集工厂,如果需要使用则需要自定义结果集工厂,null值代表使用默认结果集工厂 version 数据库版本号,必须大于等于1
- 重写onCreate()方法 //数据库第一次被创建时调用该方法,这里面主要进行对数据库的初始化操作
- 重写upGrade()方法 //数据库更新的时候调用该方法
03--使用SQLiteDatabase操作数据库
- SQLiteDatabase 该类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称为CRUD) ,和JDBC访问数据库不同,操作SQLite数据库无需加载驱动,不用获取