SQL CREATE 关键字
创建数据库
CREATE DATABASE
命令用于创建新的 SQL 数据库。
下面的 SQL 创建了一个名为 "testDB" 的数据库:
实例
CREATE DATABASE testDB;
SHOW DATABASE
;创建表
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
命令用于在表中创建索引(允许重复值)
索引用于非常快速地从数据库检索数据。用户看不到索引,它们只是用来 加速搜索/查询。
下面的 SQL 在 "Persons" 表的 "LastName" 列上创建一个名为 "idx_lastname" 的索引:
CREATE INDEX idx_lastname
ON Persons (LastName);
如果要在列组合上创建索引,可以在括号内列出列名,用逗号分隔:
CREATE INDEX idx_pname
ON Persons (LastName, FirstName);
创建唯一索引
CREATE UNIQUE INDEX
命令在表上创建唯一索引(不允许重复值)
下面的 SQL 在 "Persons" 表的 "PersonID" 列上创建一个名为 "uidx_pid" 的索引:
CREATE UNIQUE INDEX uidx_pid
ON Persons (PersonID);
创建视图
CREATE VIEW
命令创建一个视图。
视图是基于 SQL 语句结果集的虚拟表。
以下 SQL 创建了一个视图,用于选择来自巴西的所有客户:
实例
CREATE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName
FROM Customers
WHERE Country = "Brazil";
修改视图
CREATE OR REPLACE VIEW
命令更新视图。
下面的 SQL 在 "Brazil Customers" 视图中添加了 "City" 列:
实例
CREATE OR REPLACE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName, City
FROM Customers
WHERE Country = "Brazil";
查询视图
我们可以按如下方式查询上述视图:
实例
SELECT * FROM [Brazil Customers];
创建存储过程
CREATE PROCEDURE
命令用于创建存储过程。
存储过程是一个可以保存的准备好的 SQL 代码,因此代码可以反复使用。
以下 SQL 创建了一个名为 "SelectAllCustomers" 的存储过程,用于从“Customers”表中选择所有记录:
实例
CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;
执行以上存储过程的结果:
实例
EXEC SelectAllCustomers;