SQL 关键字参考手册(三)

该博客是SQL关键字的教程,介绍了INSERT INTO、SELECT、UPDATE等多种关键字的用法。通过大量实例展示了各关键字在插入数据、查询数据、更新数据等操作中的应用,还提及了不同数据库系统对部分关键字的支持差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

SQL 关键字

SQL INSERT INTO 关键字

INSERT INTO

SQL INSERT INTO SELECT 关键字

INSERT INTO SELECT

SQL IS NULL 关键字

IS NULL

SQL IS NOT NULL 关键字

IS NOT NULL

SQL JOIN 关键字

INNER JOIN

LEFT JOIN

RIGHT JOIN

FULL OUTER JOIN

SQL LIKE 关键字

LIKE

SQL SELECT TOP、LIMIT 和 ROWNUM 关键字

SELECT TOP, LIMIT and ROWNUM

SQL NOT 关键字

NOT

SQL NOT NULL 关键字

NOT NULL

SQL OR 关键字

OR

SQL ORDER BY 关键字

ORDER BY

ASC

DESC

SQL PRIMARY KEY 关键字

PRIMARY KEY

创建表上的 SQL 主键

ALTER TABLE 上的 SQL 主键

删除主键约束

SQL SELECT 关键字

SELECT

SQL SELECT INTO 关键字

SELECT INTO

SQL SET 关键字

SET

SQL TABLE 关键字

CREATE TABLE

使用另一个表创建表

ALTER TABLE

DROP TABLE

TRUNCATE TABLE

SQL UNION 和 UNION ALL 关键字

UNION

UNION ALL

SQL UNIQUE 关键字

UNIQUE

CREATE TABLE 上的 SQL UNIQUE 约束

ALTER TABLE 上的 SQL UNIQUE 约束

删除唯一约束

SQL UPDATE 关键字

UPDATE

SQL VALUES 关键字

VALUES

SQL VIEW 关键字

CREATE VIEW

查询视图

创建或替换视图

删除视图

SQL WHERE 关键字

SELECT


SQL 关键字

关键字描述
ADD在现有表中添加一列
ADD CONSTRAINT在创建表后添加约束
ALTER添加、删除或修改表中的列,或更改表中列的数据类型
ALTER COLUMN更改表中列的数据类型
ALTER TABLE添加、删除或修改表中的列
ALL如果所有子查询值都满足条件,则返回true
AND仅包含两个条件都为真的行
ANY如果任何子查询值满足条件,则返回true
AS用别名重命名列或表
ASC对结果集进行升序排序
BACKUP DATABASE创建现有数据库的备份
BETWEEN选择给定范围内的值
CASE根据条件创建不同的输出
CHECK限制可以放在列中的值的约束
COLUMN更改列的数据类型或删除表中的列
CONSTRAINT添加或删除约束
CREATE创建数据库、索引、视图、表或过程
CREATE DATABASE创建一个新的 SQL 数据库
CREATE INDEX在表上创建索引(允许重复值)
CREATE OR REPLACE VIEW更新视图
CREATE TABLE在数据库中创建一个新表
CREATE PROCEDURE创建一个存储过程
CREATE UNIQUE INDEX在表上创建唯一索引(无重复值)
CREATE VIEW根据 SELECT 语句的结果集创建视图
DATABASE创建或删除 SQL 数据库
DEFAULT创建或删除 SQL 数据库
DELETE从表中删除行
DESC对结果集进行降序排序
DISTINCT只选择不同的(不同的)值
DROP删除列、约束、数据库、索引、表或视图
DROP COLUMN删除表中的一列
DROP CONSTRAINT删除 UNIQUE、PRIMARY KEY、FOREIGN KEY 或 CHECK 约束
DROP DATABASE删除现有的 SQL 数据库
DROP DEFAULT删除一个 DEFAULT 约束
DROP INDEX删除表中的索引
DROP TABLE删除数据库中的现有表
DROP VIEW删除视图
EXEC执行存储过程
EXISTS测试子查询中是否存在任何记录
FOREIGN KEY用于将两个表链接在一起的键的约束
FROM指定从哪个表中选择或删除数据
FULL OUTER JOIN当左表或右表匹配时返回所有行
GROUP BY对结果集进行分组(与聚合函数一起使用:COUNT、MAX、MIN、SUM、AVG)
HAVING用聚合函数代替 WHERE
IN允许您在 WHERE 子句中指定多个值
INDEX在表中创建或删除索引
INNER JOIN返回两个表中具有匹配值的行
INSERT INTO在表格中插入新行
INSERT INTO SELECT将数据从一个表复制到另一个表中
IS NULL空值测试
IS NOT NULL测试非空值
JOIN连接表格
LEFT JOIN返回左表中的所有行,以及右表中匹配的行
LIKE在列中搜索指定模式
LIMIT指定要在结果集中返回的记录数
NOT仅包含条件不成立的行
NOT NULL强制列不接受 NULL 值的约束
OR包括任一条件为真的行
ORDER BY按升序或降序对结果集进行排序
OUTER JOIN当左表或右表匹配时返回所有行
PRIMARY KEY唯一标识数据库表中每条记录的约束
PROCEDURE一个存储过程
RIGHT JOIN返回右表中的所有行,以及左表中匹配的行
ROWNUM指定要在结果集中返回的记录数
SELECT从数据库中选择数据
SELECT DISTINCT只选择不同的(不同的)值
SELECT INTO将数据从一个表复制到一个新表中
SELECT TOP指定要在结果集中返回的记录数
SET指定应该在表中更新哪些列和值
TABLE创建表,或添加、删除、修改表中的列,或删除表或表中的数据
TOP指定要在结果集中返回的记录数
TRUNCATE TABLE删除表内的数据,但不删除表本身
UNION组合两个或多个 SELECT 语句的结果集(仅不同的值)
UNION ALL组合两个或多个 SELECT 语句的结果集(允许重复值)
UNIQUE确保列中所有值唯一的约束
UPDATE更新表中的现有行
VALUES指定 INSERT INTO 语句的值
VIEW创建、更新或删除视图
WHERE过滤结果集以仅包含满足指定条件的记录

SQL INSERT INTO 关键字

INSERT INTO

INSERT INTO 命令用于在表中插入新行。

以下 SQL 在 "Customers" 表中插入一条新记录:

【实例】

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway');

下面的 SQL 将插入一条新记录,但只在"CustomerName"、"City"和"Country"列中插入数据 (CustomerID 将自动更新):

【实例】

INSERT INTO Customers (CustomerName, City, Country)
VALUES ('Cardinal', 'Stavanger', 'Norway');

SQL INSERT INTO SELECT 关键字

INSERT INTO SELECT

INSERT INTO SELECT 命令从一个表中复制数据并将其插入到另一个表中。

以下 SQL 将"供应商"复制到"客户"(未填充数据的列将包含 NULL):

【实例】

INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers;

以下 SQL 将"供应商"复制到"客户"中(填充所有列):

【实例】

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
SELECT SupplierName, ContactName, Address, City, PostalCode, Country FROM Suppliers;

以下 SQL 仅将"Customers"供应商复制到"客户"表中:

【实例】

INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers
WHERE Country='Germany';

SQL IS NULL 关键字

IS NULL

IS NULL 命令用于测试空值(NULL 值)。

以下 SQL 列出了 "Address" 字段中具有 NULL 值的所有客户:

【实例】

SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NULL;

注: NULL 值不同于零值或包含空格的字段。 具有 NULL 值的字段是在创建记录期间留空的字段! 始终使用 IS NULL 来查找 NULL 值。

SQL IS NOT NULL 关键字

IS NOT NULL

IS NOT NULL 命令用于测试非空值(NOT NULL 值)。

以下 SQL 列出了 "Address" 字段中有值的所有客户:

【实例】

SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NOT NULL;

SQL JOIN 关键字

INNER JOIN

INNER JOIN 命令返回两个表中具有匹配值的行。

以下 SQL 选择所有带有客户信息的订单:

【实例】

SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;

注: 只要列之间存在匹配项,INNER JOIN 关键字就会从两个表中选择所有行。 如果"Orders"表中存在与"Customers"不匹配的记录,这些订单将不会显示!

以下 SQL 语句选择包含客户和发货人信息的所有订单:

【实例】

SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM ((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);

LEFT JOIN

LEFT JOIN 命令返回左表中的所有行,以及右表中匹配的行。 如果没有匹配,则从右侧开始,结果为 NULL。

以下 SQL 将选择所有客户以及他们可能拥有的任何订单:

【实例】

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;

注: LEFT JOIN 关键字返回左表 (Customers) 中的所有记录,即使右侧没有匹配项 表(订单)。

RIGHT JOIN

RIGHT JOIN 命令返回右表的所有行,以及左表的匹配记录。 当没有匹配时,结果从左侧开始为 NULL。

以下 SQL 将返回所有员工以及他们可能下的任何订单:

【实例】

SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;

注: RIGHT JOIN 关键字返回右表 (Employees) 中的所有记录,即使左侧没有匹配项 表(订单)。

FULL OUTER JOIN

FULL OUTER JOIN 命令在左表或右表中存在匹配时返回所有行。

以下 SQL 语句选择所有客户和所有订单:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;

注: FULL OUTER JOIN 关键字返回左表(客户)中的所有行,以及右表中的所有行 表(订单)。 如果"客户"中有行与"订单"不匹配,或者"订单"中有行与"客户"不匹配,这些行也会被列出。

SQL LIKE 关键字

LIKE

LIKE 命令用于 WHERE 子句中搜索列中的指定模式。

LIKE 可以使用两个通配符:

  • % - 表示零个、一个或多个字符
  • _ - 表示单个字符(MS Access 使用问号 (?) 代替)

以下 SQL 选择 CustomerName 以"a"开头的所有客户:

【实例】

SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';

以下 SQL 选择 CustomerName 以"a"结尾的所有客户:

【实例】

SELECT * FROM Customers
WHERE CustomerName LIKE '%a';

以下 SQL 选择所有具有"or"的 CustomerName 的客户:

【实例】

SELECT * FROM Customers
WHERE CustomerName LIKE '%or%';

以下 SQL 语句选择 CustomerName 以"a"开头且长度至少为 3 个字符的所有客户:

【实例】

SELECT * FROM Customers
WHERE CustomerName LIKE 'a_%_%';

SQL SELECT TOP、LIMIT 和 ROWNUM 关键字

SELECT TOP, LIMIT and ROWNUM

SELECT TOP命令用于指定要返回的记录数。

注: 并非所有数据库系统都支持 SELECT TOP。 MySQL 使用 LIMIT,Oracle 使用 ROWNUM。

以下 SQL 语句从"客户"表中选择前三个记录:

【实例】

SELECT TOP 3 * FROM Customers;

以下 SQL 语句显示了使用 LIMIT 子句的等效示例:

【实例】

SELECT * FROM Customers
LIMIT 3;

以下 SQL 语句显示了使用 ROWNUM 的等效示例:

【实例】

SELECT * FROM Customers
WHERE ROWNUM <= 3;

SQL NOT 关键字

NOT

NOT 命令与 WHERE 一起使用,仅包含条件不成立的行。

以下 SQL 语句从"客户"中选择所有国家/地区不是"Germany"的字段:

【实例】

SELECT * FROM Customers
WHERE NOT Country='Germany';

SQL NOT NULL 关键字

NOT NULL

NOT NULL 约束强制列不接受 NULL 值,这意味着您不能在不向该字段添加值的情况下插入或更新记录。

以下 SQL 确保 "ID", "LastName", 和 "FirstName" 列不会接受 NULL 值:

【实例】

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255) NOT NULL,
    Age int
);

当 "Persons" 表已经创建时,以下 SQL 在 "Age" 列上创建一个 NOT NULL 约束:

ALTER TABLE Persons
MODIFY Age int NOT NULL;

SQL OR 关键字

OR

OR 命令与 WHERE 一起使用以包含任一条件为真的行。

以下 SQL 语句从"客户"中选择城市为"柏林"或城市为"慕尼黑"的所有字段:

【实例】

SELECT * FROM Customers
WHERE City='Berlin' OR City='München';

SQL ORDER BY 关键字

ORDER BY

ORDER BY命令用于对结果集进行升序或降序排序。

ORDER BY 命令默认按升序对结果集进行排序。 要按降序对记录进行排序,请使用 DESC 关键字。

以下 SQL 语句选择"客户"表中的所有列,按 "CustomerName" 列排序:

【实例】

SELECT * FROM Customers
ORDER BY CustomerName;

ASC

ASC命令用于对返回的数据进行升序排序。

以下 SQL 语句选择"客户"表中的所有列,按 "CustomerName" 列排序:

【实例】

SELECT * FROM Customers
ORDER BY CustomerName ASC;

DESC

DESC命令用于对返回的数据进行降序排序。

以下 SQL 语句从"客户"表中选择所有列,按 "CustomerName" 列降序排序:

【实例】

SELECT * FROM Customers
ORDER BY CustomerName DESC;

SQL PRIMARY KEY 关键字

PRIMARY KEY

PRIMARY KEY 约束唯一标识表中的每条记录。

一张表只能有一个主键,可以由一个或多个字段组成。

创建表上的 SQL 主键

以下 SQL 在创建 "Persons" 表时在 "ID" 列上创建一个 PRIMARY KEY:

【MySQL】

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (ID)
);

【SQL Server / Oracle / MS Access】

CREATE TABLE Persons (
    ID int NOT NULL PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

要允许命名 PRIMARY KEY 约束并在多个列上定义 PRIMARY KEY 约束,请使用以下 SQL 语法:

【MySQL / SQL Server / Oracle / MS Access】

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)
);

注: 在上面的示例中,只有一个主键 (PK_Person)。 但是,主键的 VALUE 由两列(ID + LastName)组成。

ALTER TABLE 上的 SQL 主键

在"ID"上创建 PRIMARY KEY 约束; 当表已经创建列时,使用以下 SQL:

【MySQL / SQL Server / Oracle / MS Access】

ALTER TABLE Persons
ADD PRIMARY KEY (ID);

要允许命名 PRIMARY KEY 约束并在多个列上定义 PRIMARY KEY 约束,请使用以下 SQL 语法:

【MySQL / SQL Server / Oracle / MS Access】

ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);

注: 如果您使用 ALTER TABLE 语句添加主键,则必须已将主键列声明为不包含 NULL 值(首次创建表时)。

删除主键约束

要删除 PRIMARY KEY 约束,请使用以下 SQL:

【MySQL】

ALTER TABLE Persons
DROP PRIMARY KEY;

【SQL Server / Oracle / MS Access】

ALTER TABLE Persons
DROP CONSTRAINT PK_Person;

SQL SELECT 关键字

SELECT

SELECT 命令用于从数据库中选择数据。 返回的数据存储在一个结果表中,称为结果集。

以下 SQL 语句从"客户"表中选择"客户名称"和"城市"列:

【实例】

SELECT CustomerName, City FROM Customers;

以下 SQL 语句从"客户"表中选择所有列:

【实例】

SELECT * FROM Customers;

SQL SELECT INTO 关键字

SELECT INTO

SELECT INTO 命令从一个表中复制数据并将其插入到一个新表中。

以下 SQL 语句创建客户的备份副本:

SELECT * INTO CustomersBackup2017
FROM Customers;

以下 SQL 语句使用 IN 子句将表复制到另一个数据库的新表中:

SELECT * INTO CustomersBackup2017 IN 'Backup.mdb'
FROM Customers;

以下 SQL 语句仅将几列复制到新表中:

SELECT CustomerName, ContactName INTO CustomersBackup2017
FROM Customers;

以下 SQL 语句仅将德国客户复制到新表中:

SELECT * INTO CustomersGermany
FROM Customers
WHERE Country = 'Germany';

以下 SQL 语句将数据从多个表复制到一个新表中:

SELECT Customers.CustomerName, Orders.OrderID
INTO CustomersOrderBackup2017
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

SQL SET 关键字

SET

SET 命令与 UPDATE 一起使用,以指定应该在表中更新哪些列和值。

以下 SQL 使用新的 ContactName 更新第一个客户 (CustomerID = 1):

【实例】

UPDATE Customers
SET ContactName = 'Alfred Schmidt', City= 'Frankfurt'
WHERE CustomerID = 1;

以下 SQL 会将 Country 为"Mexico"的所有记录的 "ContactName" 字段更新为"Juan":

【实例】

UPDATE Customers
SET ContactName='Juan'
WHERE Country='Mexico';

SQL TABLE 关键字

CREATE TABLE

CREATE TABLE 命令在数据库中创建一个新表。

以下 SQL 创建一个名为"Persons"的表。 包含五列:PersonID、LastName、FirstName、Address 和 City:

【实例】

CREATE TABLE Persons (
    PersonID int,
    LastName varchar(255),
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
);

使用另一个表创建表

也可以使用 CREATE TABLE 创建现有表的副本。

以下 SQL 创建一个名为 "TestTables" 的新表(它是 "Customers" 表的副本):

【实例】

CREATE TABLE TestTable AS
SELECT customername, contactname
FROM customers;

ALTER TABLE

ALTER TABLE 命令添加、删除或修改表中的列。

ALTER TABLE 命令还可以添加和删除表中的各种约束。

以下 SQL 将 "Email" 列添加到 "Customers" 表:

【实例】

ALTER TABLE Customers
ADD Email varchar(255);

以下 SQL 从 "Customers" 表中删除 "Email" 列:

【实例】

ALTER TABLE Customers
DROP COLUMN Email;

DROP TABLE

DROP TABLE 命令删除数据库中的一个表。

以下SQL删除表 "Shippers":

【实例】

DROP TABLE Shippers;

注:在删除表之前要小心。 删除表会导致表中存储的所有信息丢失!

TRUNCATE TABLE

TRUNCATE TABLE 命令删除表内的数据,但不删除表本身。

以下 SQL 截断表 "Categories":

【实例】

TRUNCATE TABLE Categories;

SQL UNION 和 UNION ALL 关键字

UNION

UNION 命令组合两个或多个 SELECT 语句的结果集(仅不同的值)

以下 SQL 语句从"Customers"和"Suppliers"表中返回城市(仅不同的值):

【实例】

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;

UNION ALL

UNION ALL 命令组合两个或多个 SELECT 语句的结果集(允许重复值)。

以下 SQL 语句从"Customers"和"Suppliers"表中返回城市(也有重复值):

【实例】

SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;

SQL UNIQUE 关键字

UNIQUE

UNIQUE 约束确保列中的所有值都是唯一的。

CREATE TABLE 上的 SQL UNIQUE 约束

以下 SQL 在创建 "Persons" 表时在 "ID" 列上创建一个 UNIQUE 约束:

【SQL Server / Oracle / MS Access】

CREATE TABLE Persons (
    ID int NOT NULL UNIQUE,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

【MySQL】

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    UNIQUE (ID)
);

要命名一个 UNIQUE 约束,并在多个列上定义一个 UNIQUE 约束,请使用以下 SQL 语法:

【MySQL / SQL Server / Oracle / MS Access】

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    CONSTRAINT UC_Person UNIQUE (ID,LastName)
);

ALTER TABLE 上的 SQL UNIQUE 约束

要在已创建表时在 "ID" 列上创建 UNIQUE 约束,请使用以下 SQL:

【MySQL / SQL Server / Oracle / MS Access】

ALTER TABLE Persons
ADD UNIQUE (ID);

要命名一个 UNIQUE 约束,并在多个列上定义一个 UNIQUE 约束,请使用以下 SQL 语法:

【MySQL / SQL Server / Oracle / MS Access】

ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);

删除唯一约束

要删除 UNIQUE 约束,请使用以下 SQL:

【MySQL】

ALTER TABLE Persons
DROP INDEX UC_Person;

【SQL Server / Oracle / MS Access】

ALTER TABLE Persons
DROP CONSTRAINT UC_Person;

SQL UPDATE 关键字

UPDATE

UPDATE 命令用于更新表中现有的行。

以下 SQL 语句将第一个客户 (CustomerID = 1) 更新为一个新联系人一个新城市。

【实例】

UPDATE Customers
SET ContactName = 'Alfred Schmidt', City= 'Frankfurt'
WHERE CustomerID = 1;

以下 SQL 语句会将所有国家/地区为"Mexico"的记录的联系人姓名更新为"Juan":

【实例】

UPDATE Customers
SET ContactName='Juan'
WHERE Country='Mexico';

注:更新表中的记录时要小心! 注意 UPDATE 语句中的 WHERE 子句。 WHERE 子句指定应该更新哪些记录。 如果省略 WHERE 子句,表中的所有记录都会被更新!

SQL VALUES 关键字

VALUES

VALUES 命令指定 INSERT INTO 语句的值。

以下 SQL 在 "Customers" 表中插入一条新记录:

【实例】

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway');

以下SQL会插入一条新记录,但只在 "CustomerName", "City", 和 "Country" 列插入数据(CustomerID会自动更新):

【实例】

INSERT INTO Customers (CustomerName, City, Country)
VALUES ('Cardinal', 'Stavanger', 'Norway');

SQL VIEW 关键字

CREATE VIEW

在 SQL 中,视图是基于 SQL 语句结果集的虚拟表。

CREATE VIEW 命令创建一个视图。

以下 SQL 创建一个视图,用于选择来自巴西的所有客户:

【实例】

CREATE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName
FROM Customers
WHERE Country = "Brazil";

查询视图

我们可以这样查询上面的视图:

【实例】

SELECT * FROM [Brazil Customers];

创建或替换视图

CREATE OR REPLACE VIEW 命令更新视图。

以下 SQL 将 "City" 列添加到 "Brazil Customers" 视图:

【实例】

CREATE OR REPLACE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName, City
FROM Customers
WHERE Country = "Brazil";

删除视图

DROP VIEW 命令删除视图。

以下 SQL 删除 "Brazil Customers" 视图:

【实例】

DROP VIEW [Brazil Customers];

SQL WHERE 关键字

SELECT

WHERE 命令过滤结果集以仅包含满足指定条件的记录。

以下 SQL 语句从"Customers"表中选择"Mexico"中的所有客户:

【实例】

SELECT * FROM Customers
WHERE Country='Mexico';

SQL 需要在文本值周围加上单引号(大多数数据库系统也允许使用双引号)。

但是,数字字段不应用引号引起来:

【实例】

SELECT * FROM Customers
WHERE CustomerID=1;

注: WHERE 子句不仅用在 SELECT 语句中,它也用在 UPDATE、DELETE 语句等中!

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

运算符描述
=相等
<>不相等。 注释: 在某些版本的 SQL 中,此运算符可能写为 !=
>大于
<
>=大于等于
<=小于或等于
BETWEEN一定范围内
LIKE搜索模式
IN为一列指定多个可能的值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值