この特集のトップページへ
Appendix B:SQLの基本文法

見出し B.1 CREATE

 CREATE文は,データベースを作ったり,データベースにテーブルを作ったりするときに用いる命令である。データベースにテーブルを作る場合の基本構文は,次のようになる。


   CREATE TABLE テーブル名
   (
          フィールド定義,
          フィールド定義,
          …,
          テーブル制約定義,
          テーブル制約定義,
          …,
   )

見出し B.1.1 フィールド定義
 フィールド定義では,テーブルの各フィールドを定義する。基本的には,次の構文で記述する。


   フィールド名 データ型 (サイズ) 制約
   ※(サイズ)および制約は省略可能。

 データ型としては,Table B-1に示すものを指定できる。ただし,指定できる型は利用するデータベースエンジンによって異なるので,すべての型を利用できるとは限らないし,逆にTable B-1に示した以外の型が使えることもある。

Table B-1 指定可能な型
解説
BIT ビット型
DATETIMETIMESTAMP 日付/時刻型
DECIMAL 10進数バイナリ値
REAL 倍精度浮動小数値
DOUBLEPRECISIONFLOAT 浮動小数値
SMALLINT 整数型
INTEGER 長整数型
CHARACTER 文字型

 制約には,次のものを指定できる。

1)NOT NULL

 値としてNULL値を格納できないことを示す。NOT NULLを指定したときには,さらにその後ろにUNIQUEまたはPRIMARY KEYのいずれかを指定することができる。

NOT NULL UNIQUE
値は,各レコードごとに異なるものでなければならないことを示す。
NOT NULL PRIMARY KEY
そのフィールドが主キーであることを示す。主キーは,各レコードごとに異なる値でなければならない。PRIMARY KEYは,各テーブルごとに1つのフィールドに対してしか指定することができない。

2)REFERENCES テーブル名 フィールド名

 この値が,指定したほかのテーブルのフィールドの外部参照(リレーションシップが設定されていること)であることを示す。外部参照とは,ほかのテーブルの特定のフィールドと連結し,そのテーブルに含まれるレコードが保持している値以外は格納できないようにすることである。外部参照については,Chapter 3で解説する。

3)CHECK 条件式

 チェック制約を付ける。条件式は,後述するSELECT文のWHERE句と同じ書式で指定する。チェック制約を付けた場合,条件式を満たさない値を格納することができなくなる.

見出し B.1.2 テーブル制約定義
 テーブル制約定義は,フィールド単位でまとめて制約を指定するときに利用する。書式は次のとおりである。

1)UNIQUE (フィールド名,フィールド名,

 カッコ内に指定されたフィールドは値としてNULLを格納することができず,また,すべてのレコードにおいて異なる値でなければならないことを示す。

2)PRIMARY KEY (フィールド名)

 指定したフィールドが主キーであることを示す。

3)FOREIGN KEY (フィールド名1,フィールド名2,…) REFERENCES テーブル名 (フィールド名A,フィールド名B,…)

 指定したフィールドが,指定したテーブルのフィールドの外部参照になっていることを示す。上記の書式の場合,フィールド名1フィールド名Aの外部参照に対応し,フィールド名2フィールド名Bの外部参照に対応する。

4)CHECK 条件式

 指定したフィールドにチェック制約を付ける。条件式は,後述するSELECT文のWHERE句と同じ書式で指定する。

見出し B.1.3 CREATE TABLEの例
 たとえば,Table B-2に示すSampleTableというテーブルを作成する場合には,次のようにしてCREATE文を実行する。


   CREATE TABLE SampleTable 
   (
          ID INTEGER NOT NULL PRIMARY KEY,
          NAME CHARACTER (30),
          TEL CHARACTER (20)
   )

Table B-2 サンプルのデータベーステーブル(SampleTable
フィールド名 長さ その他
ID 長整数型 主キー
NAME 文字型 30
TEL 文字型 20

 もっとも,データベースにテーブルを作成する場合,わざわざCREATE文を使うよりも,GUIを備えた管理ツール(たとえば,Microsoft AccessやSQL Server Enterprise Managerなど)を使って作業することが多い。よって,これ以上CREATE文についての解説は避ける。

prev Appendix B 2/6 next
本文のトップへ | Appendix Bのトップへ