SQLチュートリアル

SQL HOME SQLイントロ SQL構文 SQL Select SQL Select Distinct SQL Where SQL And、Or、Not SQLの順序 SQL Insert Into SQLNull値 SQLアップデート SQL削除 SQL Select Top SQLの最小値と最大値 SQLカウント、平均、合計 SQL Like SQLワイルドカード SQL入力 SQLの間 SQLエイリアス SQL結合 SQL内部結合 SQL左結合 SQL右結合 SQL完全結合 SQL自己結合 SQLユニオン SQL Group By SQLを持っている SQLが存在する SQL Any、All SQL Select Into SQL Insert Into Select SQLケース SQLNull関数 SQLストアドプロシージャ SQLコメント SQL演算子

SQLデータベース

SQL Create DB SQLドロップDB SQLバックアップDB SQLテーブルの作成 SQLドロップテーブル SQL ALTER TABLE SQLの制約 SQLはNullではありません SQL独自 SQL主キー SQL外部キー SQLチェック SQLのデフォルト SQLインデックス SQL自動インクリメント SQLの日付 SQLビュー SQLインジェクション SQLホスティング SQLデータ型

SQLリファレンス

SQLキーワード MySQL関数 SQLServerの機能 MSAccess関数 SQLクイック参照

SQLの

SQLの例 SQLクイズ SQL演習 SQL証明書

SQLCREATEキーワード

❮SQLキーワードリファレンス


データベースの作成

この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;

❮SQLキーワードリファレンス