SQLCREATEキーワード
データベースの作成
このCREATE DATABASE
コマンドは、新しいSQLデータベースを作成するために使用されます。
次のSQLは、「testDB」というデータベースを作成します。
例
CREATE DATABASE testDB;
ヒント:データベースを作成する前に、管理者権限があることを確認してください。データベースが作成されたら、次のSQLコマンドを使用してデータベースのリストでデータベースを確認できます。SHOWDATABASES;
テーブルの作成
このCREATE TABLE
コマンドは、データベースに新しいテーブルを作成します。
次のSQLは、PersonID、LastName、FirstName、Address、およびCityの5つの列を含む「Persons」というテーブルを作成します。
例
CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
別のテーブルを使用してテーブルを作成する
次のSQLは、「TestTables」(「Customers」テーブルの2つの列のコピー)という新しいテーブルを作成します。
例
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は、「City」列を「BrazilCustomers」ビューに追加します。
例
CREATE OR REPLACE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName, City
FROM Customers
WHERE Country = "Brazil";
ビューをクエリする
上記のビューを次のようにクエリできます。
例
SELECT * FROM [Brazil
Customers];
手順の作成
このCREATE PROCEDURE
コマンドは、ストアード・プロシージャーを作成するために使用されます。
ストアドプロシージャは、保存できる準備済みのSQLコードであるため、コードを何度も再利用できます。
次のSQLは、「Customers」テーブルからすべてのレコードを選択する「SelectAllCustomers」という名前のストアドプロシージャを作成します。
例
CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;
上記のストアドプロシージャを次のように実行します。
例
EXEC SelectAllCustomers;