CREATE文【CREATE statement】CREATE TABLE
CREATE文とは?

最もよく使われるのはテーブルの作成である。「CREATE TABLE 表名(列名 データ型 オプション, …)」という構文で、指定した列構成を持つ空のテーブルをデータベース上に生成する。各列にはデータ型のほか、NULL値の禁止(NOT NULL制約)、一意性の保証(UNIQUE制約)、主キーの指定(PRIMARY KEY句)、外部キー(FOREIGN KEY句)などを設定できる。
テーブル以外も作成することができ、「CREATE DATABASE」はデータベース自体を、「CREATE VIEW」は複数テーブルにまたがる検索結果であるビューを、「CREATE INDEX」は検索を高速化するインデックスを、「CREATE TRIGGER」はトリガーを作成する。「CREATE PROCEDURE」や「CREATE FUNCTION」はストアドプロシージャやユーザー定義関数の作成に用いられる。何を作成できるかはDBMSの仕様による。
既存のオブジェクトと同名のオブジェクトを作成しようとすると通常はエラーになる。これを避けるため、多くのDBMSでは「IF NOT EXISTS句」が用意されており、同名オブジェクトが存在しない場合にのみ作成を実行し、存在する場合はエラーを出さずにスキップする。
CREATE文はデータの追加や検索より先に実行される必要があり、システム導入の初期段階で多く使われる。一度作成したオブジェクトはALTER文で設定や属性を変更することができ、DROP文で削除するまで保持される。標準SQLに基本構文が定められているが、利用できるデータ型や固有のオプションはOracle Database、MySQL、PostgreSQL、SQL Serverなど製品ごとに異なり、ある製品向けの記述が別の製品でそのまま動作しない場合もある。