最近用到了SQLite 数据库,总结了SQLite数据库语句。
创建表:
CREATE TABLE IF NOT EXISTS tb_statude(id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT, sex TEXT, age TEXT)
id 是主键:PRIMARY KEY 只有当数据类型为 INTEGER 时,才会ID自动增加。如果插入数据定义id之后,以后没定义id,id是根据最后一个id一直增加。
删除表:
DROP TABLE IF EXISTS tb_person
这种前面加 【IF EXISTS】如果表不存在不会报错,如果不加这个判断,表不存在的时候会报错
插入数据:
INSERT INTO tb_statude (id,name,sex,age) VALUES ('22','李三','女','11')
如果是TEXT 数据要用 '' 括起来,INTEFER 可括可不括
更新数据:
UPDATE tb_statude SET name = '我的爱' WHERE id = 14
【WHERE】 后面跟条件
删除数据:
DELETE FROM tb_statude WHERE id = '11'
查询:
SELECT *from tb_statude WHERE name = '你好'
SELECT id from tb_statude WHERE name = '你好' SELECT *from tb_statude WHERE name = '你好' AND id = 10
第一种查询语句是查询全部列,第二种查询语句是查询部分列
ADN 当且仅当两边都为true 时,返回true
OR 当且仅当两边都为false时,返回false
NOT 布尔表式的值取反
起别名查询:
SELECT name myName,id myId from tb_statude WHERE sex = '女'
起别名查询,查询之后显示的是别名,每对数据之间用 “,” 隔开计算记录的数量:
SELECT count(name) from tb_statude WHERE sex = '女'
排序:
SELECT *from tb_statude WHERE sex = '女' ORDER BY id desc
desc 降 序, asc 升序
limit:
SELECT *from tb_statude WHERE sex = '女' limit 2,2
第一个数代表从第几行开始,第二个数代表查几行
模糊查询:LIKE BETWEEN IN
SELECT *FROM tb_statude WHERE age LIKE '%24%'
SELECT *FROM tb_statude WHERE age BETWEEN 22 AND 44
这个数必须左小右大
SELECT *FROM tb_statude WHERE name IN ('张三')
内连接:INNER JOIN
SELECT *FROM tb_statude INNER JOIN tb_person ON tb_statude.name = tb_person.name
外链接:OUTER JOIN
SELECT tb_person.name FROM tb_statude LEFT OUTER JOIN tb_person ON tb_statude.name = tb_person.name
子查询:
SELECT *FROM tb_statude WHERE name IN (SELECT name FROM tb_person WHERE name = ‘张三’)
把一个查询嵌套在另一个查询中,这种查询我们称之为子查询