CREATE DATABASE命令用于創(chuàng)建新的SQL數(shù)據(jù)庫(kù)。
以下SQL創(chuàng)建一個(gè)名為的數(shù)據(jù)庫(kù)"testDB":
CREATE DATABASE testDB;
提示:在創(chuàng)建任何數(shù)據(jù)庫(kù)之前,請(qǐng)確保您具有管理員權(quán)限。創(chuàng)建數(shù)據(jù)庫(kù)后,可以使用以下SQL命令在數(shù)據(jù)庫(kù)列表中對(duì)其進(jìn)行檢查:SHOW DATABASES;
CREATE TABLE命令在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)新表。
以下SQL創(chuàng)建一個(gè)名為的表"Persons",該表包含五列:PersonID,LastName,F(xiàn)irstName,Address和City:
CREATE TABLE Persons ( PersonID int, LastName varchar(255), FirstName varchar(255), Address varchar(255), City varchar(255) );
下面的SQL創(chuàng)建一個(gè)名為的新表"TestTables"(該表是該"Customers"表兩列的副本):
CREATE TABLE TestTable AS SELECT customername, contactname FROM customers;
CREATE INDEX命令用于在表中創(chuàng)建索引(允許重復(fù)值)。
索引用于非??焖俚貜臄?shù)據(jù)庫(kù)檢索數(shù)據(jù)。用戶看不到索引,它們只是用來(lái)加速搜索/查詢。
以下SQL 在"Persons"表的"LastName"列上創(chuàng)建一個(gè)名為“ idx_lastname”的索引:
CREATE INDEX idx_lastname ON Persons (LastName);
如果要在列組合上創(chuàng)建索引,則可以在括號(hào)內(nèi)列出列名,并用逗號(hào)分隔:
CREATE INDEX idx_pname ON Persons (LastName, FirstName);
注意:創(chuàng)建索引的語(yǔ)法在不同的數(shù)據(jù)庫(kù)中有所不同。因此:請(qǐng)先檢查用于在數(shù)據(jù)庫(kù)中創(chuàng)建索引的語(yǔ)法。
注意:使用索引更新表要比不使用表更新表花費(fèi)更多的時(shí)間(因?yàn)樗饕残枰拢?。因此,?qiáng)烈建議僅在經(jīng)常搜索的列上創(chuàng)建索引。
該CREATE UNIQUE INDEX命令在表上創(chuàng)建唯一索引(不允許重復(fù)值)
以下SQL "PersonID"在"Persons"表的列上創(chuàng)建一個(gè)名為“ uidx_pid”的索引:
CREATE UNIQUE INDEX uidx_pid ON Persons (PersonID);
該CREATE VIEW命令創(chuàng)建一個(gè)視圖。
視圖是基于SQL語(yǔ)句的結(jié)果集的虛擬表。
以下SQL創(chuàng)建一個(gè)從巴西選擇所有客戶的視圖:
CREATE VIEW [Brazil Customers] AS SELECT CustomerName, ContactName FROM Customers WHERE Country = "Brazil";
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命令用于創(chuàng)建存儲(chǔ)過(guò)程。
存儲(chǔ)過(guò)程是可以保存的準(zhǔn)備好的SQL代碼,因此可以重復(fù)使用該代碼。
下面的SQL創(chuàng)建一個(gè)名為“ SelectAllCustomers”的存儲(chǔ)過(guò)程,該存儲(chǔ)過(guò)程從“ Customers”表中選擇所有記錄:
CREATE PROCEDURE SelectAllCustomers AS SELECT * FROM Customers GO;
執(zhí)行以下存儲(chǔ)過(guò)程,如下所示:
EXEC SelectAllCustomers;