SQL CREATE 关键字

CREATE DATABASE

CREATE DATABASE 命令用于创建新 SQL 数据库。

以下 SQL 创建一个名为 "testDB" 的数据库:

实例

CREATE DATABASE testDB;

提示:在创建任何数据库之前,请确保您具有管理员权限。一旦数据库被创建,您可以使用以下 SQL 命令在数据库列表中查看它:

SHOW DATABASES;

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)
);

使用另一个表创建表

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

实例

CREATE TABLE TestTable AS
SELECT customername, contactname
FROM customers;

CREATE INDEX

CREATE INDEX 命令用于在表中创建索引(允许重复值)。

索引用于从数据库中非常快速地检索数据。用户无法看到索引,它们只是用来加速搜索/查询。

以下 SQL 在 "Persons" 表的 "LastName" 列上创建一个名为 "idx_lastname" 的索引:

CREATE INDEX idx_lastname
ON Persons (LastName);

如果您想在列的组合上创建索引,您可以在括号内列出列名,并用逗号分隔:

CREATE INDEX idx_pname
ON Persons (LastName, FirstName);

注意:创建索引的语法在不同的数据库中有所不同。因此:请检查您的数据库中创建索引的语法。

注意:更新带索引的表比更新没有索引的表需要更多的时间(因为索引也需要更新)。因此,只在将经常搜索的列上创建索引。

CREATE UNIQUE INDEX

CREATE UNIQUE INDEX 命令在表上创建一个唯一索引(不允许重复值)。

以下 SQL 在 "Persons" 表的 "PersonID" 列上创建一个名为 "uidx_pid" 的索引:

CREATE UNIQUE INDEX uidx_pid
ON Persons (PersonID);

CREATE VIEW

CREATE VIEW 命令创建视图。

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

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

实例

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

CREATE OR REPLACE VIEW 命令更新视图。

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

实例

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

查询视图

我们可以按如下方式查询上面的视图:

实例

SELECT * FROM [Brazil Customers];

CREATE PROCEDURE

CREATE PROCEDURE 命令用于创建存储过程。

存储过程是准备好的 SQL 代码,您可以保存它,以便可以反复重用。

以下 SQL 创建一个名为 "SelectAllCustomers" 的存储过程,该过程从 "Customers" 表中选择所有记录:

实例

CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;

按如下方式执行上面的存储过程:

实例

EXEC SelectAllCustomers;