SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。
SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。
查询和更新指令构成了 SQL 的 DML 部分:
SELECT- 从数据库表中获取数据
UPDATE- 更新数据库表中的数据
DELETE- 从数据库表中删除数据
INSERT INTO- 向数据库表中插入数据
SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
SQL 中最重要的 DDL 语句:
CREATE DATABASE- 创建新数据库
ALTER DATABASE- 修改数据库
CREATE TABLE- 创建新表
ALTER TABLE- 变更(改变)数据库表
DROP TABLE- 删除表
CREATE INDEX- 创建索引(搜索键)
DROP INDEX- 删除索引

SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。

AND 和 OR 运算符

AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

ORDER BY 语句

ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。

INSERT INTO 语句

INSERT INTO 语句用于向表格中插入新的行。
语法
INSERT INTO 表名称 VALUES (值1, 值2,….)
我们也可以指定所要插入数据的列:
INSERT INTO table_name (列1, 列2,…) VALUES (值1, 值2,….)

Update 语句

Update 语句用于修改表中的数据。
语法:
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

LIKE 操作符

用于在 WHERE 子句中搜索列中的指定模式。
例子 1
现在,我们希望从上面的 “Persons” 表中选取居住在以 “N” 开始的城市里的人:
我们可以使用下面的 SELECT 语句:
select from persons
where city like ‘N%’
例子 2
接下来,我们希望从 “Persons” 表中选取居住在以 “g” 结尾的城市里的人:
我们可以使用下面的 SELECT 语句:
select
from persons
where city like ‘%g’
例子 3
接下来,我们希望从 “Persons” 表中选取居住在包含 “lon” 的城市里的人:
我们可以使用下面的 SELECT 语句:
select from persons
where city like ‘%lon%’
例子 4
通过使用 NOT 关键字,我们可以从 “Persons” 表中选取居住在不包含“lon” 的城市里的人:
我们可以使用下面的 SELECT 语句:
select
from persons
where city not like ‘%lon%’

通用符

语法 - 图1
通用符

使用 % 通配符

例子 1
现在,我们希望从上面的 “Persons” 表中选取居住在以 “Ne” 开始的城市里的人:
我们可以使用下面的 SELECT 语句:
select from Persons
where city like ‘NE%’
例子 2
接下来,我们希望从 “Persons” 表中选取居住在包含 “lond” 的城市里的人:
我们可以使用下面的 SELECT 语句:
select
from Persons
where city like ‘%lond%’

使用 _ 通配符

例子 1
现在,我们希望从上面的 “Persons” 表中选取名字的第一个字符之后是 “eorge” 的人:
我们可以使用下面的 SELECT 语句:
select from Persons
where city like ‘_eorge’
例子 2
接下来,我们希望从 “Persons” 表中选取的这条记录的姓氏以 “C” 开头,然后是一个任意字符,然后是 “r”,然后是任意字符,然后是 “er”:
我们可以使用下面的 SELECT 语句:
select
from Persons
where city like ‘C_r_er’

使用 [charlist] 通配符

例子 1
现在,我们希望从上面的 “Persons” 表中选取居住的城市以 “A” 或 “L” 或 “N” 开头的人:
我们可以使用下面的 SELECT 语句:
SELECT FROM Persons
WHERE City LIKE ‘[ALN]%’
例子 2
现在,我们希望从上面的 “Persons” 表中选取居住的城市不以“A” 或 “L” 或 “N” 开头的人:
我们可以使用下面的 SELECT 语句:
SELECT
FROM Persons
WHERE City LIKE ‘[!ALN]%’

IN 操作符

IN 操作符允许我们在 WHERE 子句中规定多个值。
SQL IN 语法
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,…)

BETWEEN 操作符

操作符 BETWEEN … AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
SQL BETWEEN 语法
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2

SQL JOIN

除了我们在上面的例子中使用的 INNER JOIN(内连接),我们还可以使用其他几种连接。
下面列出了您可以使用的 JOIN 类型,以及它们之间的差异。
JOIN: 如果表中有至少一个匹配,则返回行 注释:INNER JOIN 与 JOIN 是相同的。
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
FULL JOIN: 只要其中一个表中存在匹配,就返回行