SQL入門その6 - テーブルの作成CREATE TABLE文の基本的な使い方
2007/11/06 14:42Update
リレーショナルデータベースには、データを格納するためにコンテナが必要です。このコンテナのことをテーブルと呼びます。CREATE TABLEは、新しいテーブルを作成するには使われます。
テーブルを作成するときには、CREATE TABLE文を使用します。CREATE TABLE文の基本構文は、以下のようになります。
CREATE TABLE <テーブル名> (
列名1 データ型 [PRIMARY KEY],
列名2, データ型 [制約情報、及びdefault値設定情報など],
...
[PRIMARY KEY(主キーとなる列名),]
[FOREIGN KEY(外部となる列名) REFERENCES テーブル名(列名),...]);―――――――――――――(1)
※※ <>は必須、[]はオプション構文との意味です。列名1 データ型 [PRIMARY KEY],
列名2, データ型 [制約情報、及びdefault値設定情報など],
...
[PRIMARY KEY(主キーとなる列名),]
[FOREIGN KEY(外部となる列名) REFERENCES テーブル名(列名),...]);―――――――――――――(1)
◎「テーブル名」には、テーブルの名前を指定します。
◎データ型は、文字列型、数値型、日付・時間型というカテゴリに大別されます。データベースによって、多少違いはあるものの、つぎのようなデータ型があります。
文字列型はCHAR、NCHAR、VARCHAR、TINYBLOB/TINYTEXT、BLOB/TEXT、MEDIUMBLOB/MEDIUMTEXT、LONGBLOB/LONGTEXTなどがあります。
数値型はBIT、TINYINT、BOOL、BOOLEAN、SMALLINT、MEDIUMINT、INTEGER/INT、BIGINT、FLOAT、DOUBLE/REAL、DECIMAL/NUMERICなどがあります。
日付・時間型はDATE、DATETIME、TIMESTAMP、TIME、YEARなどがあります。
◎PRIMARY KEY 文で主キーが何であるのかを定義します。主キーとは、データを一意に識別するための情報である。主キーに設定された列は、複数のレコード間で重複することは許されず、主キーを持たないレコードが存在してはなりません。主キーは必ずしも一つの列とは限らず、複数の列を組み合わせて主キーとして用いる場合もある。
◎FOREIGN KEY 文によって外部キーを定義します。外部キーとは2つの関係テーブルの間の参照整合性制約とのことです。は複数を持つことが可能です。
◎各列の定義の後ろに「NOT NULL」キーワードで、その列の値はNULLを許容するか否かを指定します、また、「DEFAULT」キーワードで、その列のデフォルト値を定義します。
ではテーブル作成例をみてみましょう。
例1:
CREATE TABLE ORG_MST( ID INT PRIMARY KEY, NAME VARCHAR(50) ); CREATE TABLE USER_MST( ID INT PRIMARY KEY, NAME VARCHAR(30), AGE INT DEFAULT 20, ORG_ID INT FOREIGN KEY REFERENCES ORG_MST(ID));
主キーはID、外部キーはORG_ID(USER_MST.ORG_IDはORG_MST.IDを参照)に指定します。
例2:
CREATE TABLE USER_MST( ID INT, NAME VARCHAR(30) NOT NULL, AGE INT DEFAULT 20, ORG_ID INT, PRIMARY KEY(ID), FOREIGN KEY(ORG_ID) REFERENCES ORG_MST(ID), CHECK (AGE BETWEEN 0 AND 150));
満足しなければならない条件をCHECKキーワードで指定します。
例3:
CREATE TABLE USER_MST( ID INT, NAME VARCHAR(30) NOT NULL, AGE INT DEFAULT 20, ORG_ID INT, CONSTRAINT USER_MST_pk PRIMARY KEY(ID), CONSTRAINT USER_MST_fk_org_id FOREIGN KEY(ORG_ID) REFERENCES ORG_MST(ID) ON DELETE CASCADE);
USER_MST_pkなどは制約の名前で、キーワードCONSTRAINTで整合性制約を識別します。
その他、また、UNIQUE キーワードでテーブルの一意キーを指定します。UNIQUE制約は、列または列の組合せを一意キーとして指定します。UNIQUE制約を満足するためには、表の中で2つの行が一意キーに対して同一の値を持つことはできません。
Sponsored Link
- Relative Articles
- SQL入門その1 - SQLとは - (2007/10/30 10:42)
- SQL入門その2 - データの問い合わせSELECT文の基本的な使い方 - (2007/10/30 12:42)
- SQL入門その3 - データの更新UPDATE文の基本的な使い方 - (2007/11/05 16:07)
- SQL入門その4 - データの削除DELETE文の基本的な使い方 - (2007/11/05 16:28)
- SQL入門その5 - データの登録INSERT文の基本的な使い方 - (2007/11/05 17:21)
- SQL入門その7 - インデックスの作成CREATE INDEX文の基本的な使い方 - (2007/11/07 16:58)
- SQL入門その8 - データベース制約CONSTRAINT - (2007/11/08 15:27)
- SQL入門その9 - テーブルの変更ALTER TABLE文の基本的な使い方 - (2007/11/20 23:37)
- SQL入門その10 - SELECT DISTINCT文による重複データを取除く - (2008/02/16 15:58)
- SQL入門その11 - SELECT ... ORDER BY文によるデータの並べ替え - (2008/02/16 18:08)