目录

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;