1.创建表
CREATE TABLE IF NOT EXISTS 表名(字段 类型,字段 类型)
- 类型
- INTEGER 整型
- REAL 浮点型
- TEXT 字符型
- BLOB 二进制类型
- NULL 空
- 关键字
- PRIMARY KEY 主键
- AUTOINCREMENT 自增长
- NOT NULL 非空
- DEFAULT value 默认值value
- UNIQUE 字段值唯一
UNIQUE
例如:
CREATE TABLE IF NOT EXISTS t_student(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER DEFAULT 1);
注意:除了AUTOINCREMENT 必须为INTEGER类型,其他的类型即使在创建表时设置,也是没有影响的,因为在SQlite中字段都是没有类型的。
2.销毁表
DROP TABLE IF EXISTS 表名;
例如:
DROP TABLE IF EXISTS t_sutdent;
3.插入
INSERT INTO t_sutdent(id) VALUES(1);
INSERT INTO t_sutdent(name, id) VALUES('张三', 1);
4.更新
UPDATE t_sutdent SET id = 1;
表中所有记录的id字段都会变为1。
UPDATE t_sutdent SET id = 1 WHERE id > 5;
id>5的记录id字段变为1.
可以用
ADN
OR
进行多条件的判断,AND
相当于&&
,OR
相当于||
。 ‘
5.查询
SELECT * FROM t_sutdent WHERE score >= 60;
SELECT * FROM t_sutdent;
SELECT score FROM t_sutdent;
SELECT name, id FROM t_sutdent;
多表查询时起别名更加方便:
SELECT stu.name , cl.score FROM t_sutdent AS stu,t_class AS cl;
统计数量:
SELECT count(*) FROM t_sutdent;
SELECT count(score) FROM t_sutdent WHERE score >= 60;
排序:
SELECT * FROM t_sutdent ORDER BY score DESC, id DESC;
SELECT * FROM t_sutdent ORDER BY score ASC;
DESC
为降序排列,ASC
升序排列。