在上一篇 【SQLite】二、SQLite 和 HeidiSQL 的安装 中,已经讲了如何安装配置 SQLite,接下来将讲解 SQLite 的常用语法。
每门编程语言都有自己独特的语法,编程语言的语法是编程规则的体现。
SQLite
的语法类似于 SQL,如果学过 SQL 的同学会发现学习 SQLite
非常简单。
SQLite
不区分大小写,但部分命令有不同的含义,你只要记住 GLOB
和 glub
这个特例就可以了。
SQLite
的语法有很多,我们可以根据二八定律,掌握常用的就可以了,不常用的等用到了再去翻字典即可。
接下来逐个示范常用的 SQLite
语法。
0 HeidiSQL 的启动
在讲解 SQLite
语法之前,需要打开之前安装的 HeidiSQL
,让这个可视化工具简化我们对 SQLite 的操作。
点击左下角的 新建
按钮。
新建连接后,进行 重命名
操作,同学们可以重命名为 SQLite
。
下一步选择网络类型,展开下拉框后,选择 SQLite
。
接着展开数据库文件名,选择添加数据库文件,如下图所示。
因为是测试所需,同学们可以随意输入文件名,点击 打开
即可,如下图所示。
创建完成后点击 打开
,进入 SQLite
数据库,如下图所示。
进入成功后,界面如下图所示。
为了完善数据,同学们可以复制以下命令在查询面板中执行数据初始化操作。
-- 创建数据库 DROP DATABASE IF EXISTS "test"; CREATE DATABASE IF NOT EXISTS "test"; -- 创建数据表 DROP TABLE IF EXISTS "student"; CREATE TABLE IF NOT EXISTS student( code CHAR(50) PRIMARY KEY NOT NULL, NAME CHAR(50) NOT NULL, AGE INT NOT NULL, mobile CHAR(50) NOT NULL ); -- 新增数据 DELETE FROM "student"; INSERT INTO "student" ("code", "NAME", "AGE", "mobile") VALUES ('001', 'ZWZ1', 18, '13600000001'), ('002', 'ZWZ2', 19, '13600000002'), ('003', 'ZWZ3', 20, '13600000003'), ('004', 'ZWZ4', 21, '13600000004'), ('005', 'ZWZ5', 22, '13600000005'), ('006', 'ZWZ6', 23, '13600000006'), ('007', 'ZWZ7', 24, '13600000007');
1 注释
注释的作用是为了增加 SQLite 代码的可读性。
SQLite 注释的语法是以两个连续的 -
字符开头,注释不能嵌套。
比如对于查询语句:
SELECT * FROM USER
我们执行后正常查询,如下图所示。
添加注释之后,如下所示。
SELECT * FROM student -- 测试注释
发现添加注释后不影响查询结果。
2 SELECT 语句
SELECT
语句用于对数据的查询。
已知数据库中有这样 6 条数据,如下图所示。
执行 SELECT 语句,即可完成对数据的查询操作。
SELECT * FROM student
查询结果如下图所示。
3 INSERT 语句
INSERT
语句用于对数据的新增。
已知数据库中有 student
表,表的字段设计如下图所示。
数据表中的数据现有六条,如下图所示。
使用 INSERT 字句设计如下的命令,执行后再次查询。
-- 新增 INSERT INTO "student" ("code", "NAME", "AGE", "mobile") VALUES ('007', 'ZWZ7', 27, '13600000007'); -- 查询 SELECT * FROM student;
执行后再次执行 SELECT 语句,发现数据新增了,如下图所示,说明 INSERT 命令执行成功。
4 UPDATE 语句
UPDATE
语句用于对数据的编辑。
已知数据库中有 student
表,表的数据如下图所示。
使用 UPDATE 字句设计以下命令。
UPDATE student SET AGE = 20;
执行后再次执行查询语句
SELECT * FROM student;
发现数据表的 AGE
字段已被编辑,说明 UPDATE 字句执行成功,如下图所示。
5 DELETE 语句
DELETE
语句用于对数据的删除。
已知数据库中有 student
表,表的数据如下图所示。
使用 DELETE 字句设计以下命令,如下所示。
// 删除数据 DELETE FROM student; -- 再次查询 SELECT * FROM student;
删除后再次使用 SELECT 字句查询,发现数据已被清空,说明 DELETE 命令执行成功。
6 WHERE 语句
WHERE
语句用于实现条件判断。
已知数据库中有 student
表,表的数据如下图所示。
我们在 SELECT 查询命令的尾部增加 WHERE 字句,设计成如下所示。
SELECT * FROM student WHERE AGE > 20;
执行后发现 AGE 字段不符合条件的数据已被隐藏,只显示了符合条件的数据,如下图所示。
其中
>
符号是一个比较运算符,用于检查左操作数的值是否大于右操作数的值,如果是则条件为真。比较运算符包括了
>
,<
,=
,<>
等,会在下面的章节详细讲解,现在只需要简单了解即可。
再试一个 ‘<=’ 比较运算符,用于检查左操作数的值是否小于等于右操作数的值,如果是则条件为真。
设计 SQLite 命令如下所示。
SELECT * FROM student WHERE AGE <= 20;
查询结果如下图所示,年龄大于 20 的数据已被隐藏。
7 LIKE 语句
LIKE
语句用于实现字符串的模拟匹配,如果搜索表达式与模式表达式匹配,LIKE 运算符将返回真。
在学习 LIKE
语句之前首先要了解通配符的概念。
- 百分号:% 代表任意位字符,可以为零个、一个或多个数字或字符。
- 下划线:_ 代表一个数字或字符
以上两个通配符可以组合使用。
现有如下的 SQLite 语句:
SELECT * FROM student WHERE MOBILE LIKE '%';
该命令可以查询 MOBILE 字段存在任意位数字或字符的数据,执行结果如下所示。
将 SQLite 语句修改如下:
SELECT * FROM student WHERE MOBILE LIKE '%5';
代表只查询 MOBILE 字段以字符 5
结尾的数据,查询结果如下图所示。
8 AND 语句
AND
语句用于对多个条件进行 且
关系的组合条件判断,是连接运算符。
这些运算符为同一个 SQLite 语句中不同的运算符之间的多个比较提供了可能。
AND
运算符允许在 WHERE 子句存在多个条件。
使用 AND
运算符时,只有当所有条件都为真(true)时,整个条件为真(true)。
使用 AND
字句将 1.6 节和 1.7 节举例的两个条件加在一起,命令如下:
SELECT * FROM student WHERE MOBILE LIKE '%5' AND AGE > 20;
查询结果如下图所示,只展示了 MOBILE 字段以 5
结尾,并且 AGE 字段大于 20
的数据。
9 OR 语句
OR
语句用于对多个条件进行 或
关系的组合条件判断,是连接运算符。
这些运算符为同一个 SQLite
语句中不同的运算符之间的多个比较提供了可能。
OR
运算符允许在 WHERE
子句存在多个条件。
使用 OR
运算符时,只有当任一个条件都为真(true)时,整个条件为真(true)。
使用 OR
字句将 1.6 节和 1.7 节举例的两个条件加在一起,命令如下:
SELECT * FROM student WHERE MOBILE LIKE '%5' OR AGE > 20; • 1
查询结果如下图所示,展示了 MOBILE 字段以 5
结尾,或者 AGE 字段大于 20
的数据。
10 小结
本文简单讲解了 SQLite 的常用语法,包括 SELECT 语句、INSERT 语句、UPDATE 语句、DELETE 语句、WHERE 语句、LIKE 语句、AND 语句、OR 语句和注释语法,另外还包括 HeidiSQL 的使用,下一节将讲解 SQLite 的数据类型和运算符。