CREATE (SQL)

SQLにおけるCREATE文の詳細解説



SQLの`CREATE`文は、関係データベース管理システム(RDBMS)において、データベースオブジェクトを新たに作成するためのデータ定義言語(DDL)命令です。この命令は、データベースの構造を定義し、さまざまな要素を構築するために使用されます。

CREATE文で作成可能なオブジェクト



`CREATE`文で作成できるオブジェクトの種類は、使用しているRDBMSの実装によって異なりますが、一般的には以下のものが含まれます。

表(テーブル): データを格納する基本的な構造。
定義域(ドメイン): 列のデータ型や制約を定義。
索引(インデックス): データの検索を高速化するための構造。
利用者(ユーザー): データベースへのアクセス権を持つユーザーアカウント。
別名(シノニム): オブジェクトの別名。
ストアドプロシージャ: 一連のSQL文をまとめたプログラム。
データベース: データの集合。

トランザクションとCREATE文



一部のRDBMS(例:PostgreSQL)では、`CREATE`文を含むDDL命令をトランザクション内で実行できます。これにより、DDL操作をロールバックすることが可能となり、データベースの変更管理がより柔軟になります。

CREATE TABLE文



`CREATE`文の中でも特に重要なのが`CREATE TABLE`文です。これは、データベース内に新しいテーブルを作成するために使用されます。以下に基本的な構文を示します。

sql
CREATE [TEMPORARY] TABLE [表名] (
[基底表要素カンマリスト]
) [表パラメータ];


基底表要素カンマリスト



`基底表要素カンマリスト`は、テーブルの構造を定義するための要素をカンマで区切ったリストです。以下の要素を含めることができます。

列定義: テーブル内の列の名前、データ型、制約などを定義します。
sql
[列名] [データ型] {NULL | NOT NULL} {列オプション}

主キー定義: テーブルの主キーを定義します。
sql
PRIMARY KEY ( [列カンマリスト] )

制約: 列やテーブルに対する制約を定義します。
sql
{CONSTRAINT} [制約定義]


具体例:従業員テーブルの作成



以下に、「従業員」という名前のテーブルを作成する`CREATE TABLE`文の例を示します。

sql
CREATE TABLE 従業員 (
従業員ID INT PRIMARY KEY,
名前 VARCHAR(255) NOT NULL,
部署 VARCHAR(255),
入社日 DATE
);


この例では、以下の列を持つ「従業員」テーブルが作成されます。

`従業員ID`:整数型で主キー制約が設定されています。
`名前`:可変長文字列型で、NULL値を許可しない制約が設定されています。
`部署`:可変長文字列型。
`入社日`:日付型。

まとめ



`CREATE`文は、SQLにおける基本的なDDL命令であり、データベースオブジェクトの作成に不可欠です。特に`CREATE TABLE`文は、データの格納構造を定義する上で重要な役割を果たします。RDBMSの実装によって`CREATE`文の機能や構文に若干の違いがあるため、使用するRDBMSのドキュメントを参照することが重要です。

参考文献



* C.J.Date、Hugh Darwen、QUIP LLC (訳)、『標準SQLガイド 改訂第4版』、アスキー、1999年、ISBN 4-7561-2047-4

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。