SQL CREATE 关键字

创建数据库

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

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

实例
  1. CREATE DATABASE testDB;
提示:在创建任何数据库之前,请确保您具有管理员权限。创建数据库后,可以使用以下 SQL 命令在数据库列表中检查它:SHOW DATABASE

创建表

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

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

实例
  1. CREATE TABLE Persons(
  2. PersonID int,
  3. LastName varchar(255),
  4. FirstName varchar(255),
  5. Address varchar(255),
  6. City varchar(255)
  7. );

用另外一个表创建表

下面的 SQL 创建了一个名为 "TestTables"(这是 "Customers" 表的两列的副本):;

实例
  1. CREATE TABLE TestTable AS
  2. SELECT customername, contactname
  3. FROM customers;

创建索引

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

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

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

  1. CREATE INDEX idx_lastname
  2. ON Persons (LastName);

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

  1. CREATE INDEX idx_pname
  2. ON Persons (LastName, FirstName);
注意:创建索引的语法因数据库而异。因此:请检查在数据库中创建索引的语法。
注意:使用索引更新表要比不使用索引更新表花费更多的时间(因为索引也需要更新)。因此,只在经常搜索的列上创建索引。

创建唯一索引

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

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

  1. CREATE UNIQUE INDEX uidx_pid
  2. ON Persons (PersonID);

创建视图

CREATE VIEW 命令创建一个视图。

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

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

实例
  1. CREATE VIEW [Brazil Customers] AS
  2. SELECT CustomerName, ContactName
  3. FROM Customers
  4. WHERE Country = "Brazil";

修改视图

CREATE OR REPLACE VIEW 命令更新视图。

下面的 SQL 在 "Brazil Customers" 视图中添加了 "City" 列:

实例
  1. CREATE OR REPLACE VIEW [Brazil Customers] AS
  2. SELECT CustomerName, ContactName, City
  3. FROM Customers
  4. WHERE Country = "Brazil";

查询视图

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

实例
  1. SELECT * FROM [Brazil Customers];

创建存储过程

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

存储过程是一个可以保存的准备好的 SQL 代码,因此代码可以反复使用。

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

实例
  1. CREATE PROCEDURE SelectAllCustomers
  2. AS
  3. SELECT * FROM Customers
  4. GO;

执行以上存储过程的结果:

实例
  1. EXEC SelectAllCustomers;

分类导航