SQL 语句

注意:SQL 语句对大小写不敏感。SELECT 等效于 select。

SELECT 语法

SELECT 语句用于从表中选取数据

选取数据库表中某几列的语法

SELECT 列名称 FROM 表名称

例子:

SELECT LastName,FirstName FROM Persons

选取数据库表所有列的语法,星号(*)是选取所有列的快捷方式。

SELECT * FROM 表名称

例子:

SELECT * FROM Persons

SELECT DISTINCT 语句

关键词 DISTINCT 用于返回唯一不同的值

语法:

SELECT DISTINCT 列名称 FROM 表名称

例子:

SELECT DISTINCT Company FROM Orders

WHERE 子句

WHERE 子句用于规定选择的标准。如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。

语法:

SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

下面的运算符可在 WHERE 子句中使用:

操作符

描述

=

等于

<>

不等于

>

大于

<

小于

>=

大于等于

<=

小于等于

BETWEEN

在某个范围内

LIKE

搜索某种模式

注意:在某些版本的 SQL 中,操作符 <> 可以写为 !=。

例子:
选取居住在城市 "Beijing" 中的人

SELECT * FROM Persons WHERE City='Beijing'

引号的使用

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

文本值:

这是正确的:
SELECT * FROM Persons WHERE FirstName='Bush'

这是错误的:
SELECT * FROM Persons WHERE FirstName=Bush

数值:

这是正确的:
SELECT * FROM Persons WHERE Year>1965

这是错误的:
SELECT * FROM Persons WHERE Year>'1965'

AND & OR 运算符

AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤。

AND 运算符例子:

LastName

FirstName

Address

City

Adams

John

Oxford Street

London

Bush

George

Fifth Avenue

New York

Carter

Thomas

Changan Street

Beijing

Carter

William

Xuanwumen 10

Beijing

使用 AND 来显示所有姓为 "Carter" 并且名为 "Thomas" 的人:

SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'

结果:

LastName

FirstName

Address

City

Carter

Thomas

Changan Street

Beijing

OR 运算符例子:

使用 OR 来显示所有姓为 "Carter" 或者名为 "Thomas" 的人:

SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter'

结果:

LastName

FirstName

Address

City

Carter

Thomas

Changan Street

Beijing

Carter

William

Xuanwumen 10

Beijing

ORDER BY 子句

ORDER BY 语句用于对结果集进行排序

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

Orders 表:

Company

OrderNumber

IBM

3532

W3School

2356

Apple

4698

W3School

6953

例子:
以字母顺序显示公司名称:

SELECT Company, OrderNumber FROM Orders ORDER BY Company

结果:

Company

OrderNumber

Apple

4698

IBM

3532

W3School

6953

W3School

2356

例子:
以逆字母顺序显示公司名称:

SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC

结果:

Company

OrderNumber

W3School

6953

W3School

2356

IBM

3532

Apple

4698

INSERT INTO 语句

INSERT INTO 语句用于向表格中插入新的行。

语法:

INSERT INTO 表名称 VALUES (值1, 值2,....)

或者
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

UPDATE 语句

Update 语句用于修改表中的数据。

语法:

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

DELETE 语句

DELETE 语句用于删除表中的行。

语法:

删除某行
DELETE FROM 表名称 WHERE 列名称 = 值

删除所有行
DELETE FROM table_name
或者
DELETE * FROM table_name