1、用来设置正确格式化的输出
sqlite>.header on
sqlite>.mode column
2、SQLite 逻辑运算符
LIKE LIKE 运算符用于把某个值与使用通配符运算符的相似值进行比较。
如: SELECT * FROM COMPANY WHERE NAME LIKE 'Ki%';
GLOB GLOB 运算符用于把某个值与使用通配符运算符的相似值进行比较。GLOB 与 LIKE 不同之处在于,它是大小写敏感的。
如: SELECT * FROM COMPANY WHERE NAME GLOB 'Ki*';
3、基本语句
- 建表:
create table 表名(
id integer primary key,
...
);
- 删表:
drop table if exists 表名;
- 增加字段:
alter table 表名 add column 类型;
- 删除数据:
可以使用带有 WHERE 子句的 DELETE 查询来删除选定行,否则所有的记录都会被删除。
delete from 表名 where 条件;
- 修改数据:
可以使用带有 WHERE 子句的 UPDATE 查询来更新选定行,否则所有的行都会被更新。
update 表名 set column1 = value1, column2 = value2...., columnN = valueN where 条件;
- 添加数据:
INSERT INTO 语句有两种基本语法
① insert into 表名 [(column1, column2, column3,...columnN)] VALUES (value1, value2, value3,...valueN);
② 如果要为表中的所有列添加值,您也可以不需要在 SQLite 查询中指定列名称。但要确保值的顺序与列在表中的顺序一致
INSERT INTO 表名 VALUES (value1,value2,value3,...valueN);
- 获取数据:
SELECT column1, column2, columnN FROM 表名 WHERE [condition];
如果您想获取所有可用的字段
SELECT * FROM 表名 WHERE [condition];
4、Like 子句和GLOB子句
like:
百分号 (%)代表零个、一个或多个数字或字符。
下划线 (_)代表一个单一的数字或字符。
glob:与 LIKE 运算符不同的是,GLOB 是大小写敏感的
星号 (*)代表零个、一个或多个数字或字符。
问号(?)代表一个单一的数字或字符。
5、limit子句
selece * from table limit X; // 读取X条数据
selece * from table limit X,Y; // 跳过X条数据后读取Y条数据
selece * from table limit X offset Y; // 跳过Y条数据后读取X条数据
6、Order By子句
SELECT column-list FROM table_name [WHERE condition] [ORDER BY column1, column2, .. columnN] [ASC | DESC];
注意:limit 和order by一起使用的时候limit子句要放在order by后面
7、Group By子句
GROUP BY 子句用于与 SELECT 语句一起使用,来对相同的数据进行分组。
SELECT column-list FROM table_name WHERE [ conditions ] GROUP BY column1, column2....columnN ORDER BY column1, column2....columnN
在 SELECT 语句中,GROUP BY 子句放在 WHERE 子句之后,放在 ORDER BY 子句之前。
8、Distinct 关键字
与 SELECT 语句一起使用,来消除所有重复的记录,并只获取唯一一次记录。
SELECT DISTINCT column1, column2,.....columnN FROM table_name WHERE [condition]
附录:数据类型
存储类 | 描述 |
NULL | 值是一个 NULL 值。 |
INTEGER | 值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。 |
REAL | 值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。 |
TEXT | 值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。 |
BLOB | 值是一个 blob 数据,完全根据它的输入存储。 |
boolean 存integer, 0(false)和 1(true)。