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;