sqlite存储数据的方式
- 以表的形式存储数据
- 一张表代表模型的数组
- 表的每一行,代表一个实例模型
- 每一行的每个列,代表一个模型的一个字段,代表模型的一个键
- 每一张表都应该有一个主键, 主键特点是,唯一,整型, 自增长
常用的sql语句
1. 创建表,如果表格不存在
CREATE TABLE IF NOT EXISTS "table12" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"name" text NOT NULL,
"age" integer NOT NULL,
"weight" real
);
// 类型 INTEGER integer text real
// 不能为空 NOT NULL
// 主键 PRIMARY KEY
// 自动分配主键(自增长) AUTOINCREMENT
2. 插入数据
//插入一条数据给table1, 数据name是大禹,age是22
INSERT INTO "table1" ( "age", "name") VALUES ( 22,'大禹');
// 可以同时设置多个字段 ( "age", "name") 值在 VALUES 后的括号里,要一一对应
// NOT NULL的字段要设置值
// 主键如果设置为 AUTOINCREMENT 就不用设置,会自动分配,如果想指定主键就设置主键的值
3. 修改数据
//修改数据table1的数据,将id等于3的数据的age改为16,name改为小雨
UPDATE "table1" SET "age"=16, "name"="小雨" WHERE id=3;
// 设置 SET 可以用来更新数据,也可以给没有赋值的字段赋值
// 条件 WHERE 用来做判断的条件,对满足条件的数据进行操作
4. 删除数据
//删除table1中id等于2的数据
DELETE FROM "table1" WHERE id=2;
//清空table1中的数据
DELETE FROM "table1";
5. 查询数据
//查询table1中所有的数据
SELECT * FROM "table1";
//从第一行开始,查询五行数据,和主键的值无关
SELECT * FROM "table1" LIMIT 0, 5;
// 限制 LIMIT 0,5 指从第0行开始,向后面选中5行
//查询指定的字段 name,age 从table1 当 age大于22 并且name是小雨
SELECT name, age FROM "table1" WHERE age>22 AND name="小雨";
//查询指定的字段 name,age 从table1 当 age大于22 逆序排列 查询一条数据
SELECT name, age FROM "table1" WHERE age>22 ORDER BY id DESC LIMIT 1;
// 根据字段排列 ORDER BY 字段 排列方式
// 逆序 DESC 顺序 ASC
// 限制 LIMIT 1 查询 1 条数据