この特集のトップページへ
>
Appendix B:SQLの基本文法
B.1 CREATE文
CREATE文は,データベースを作ったり,データベースにテーブルを作ったりするときに用いる命令である。データベースにテーブルを作る場合の基本構文は,次のようになる。
CREATE TABLE テーブル名
(
フィールド定義,
フィールド定義,
…,
テーブル制約定義,
テーブル制約定義,
…,
)
B.1.1 フィールド定義
フィールド定義では,テーブルの各フィールドを定義する。基本的には,次の構文で記述する。
フィールド名 データ型 (サイズ) 制約
※(サイズ)および制約は省略可能。
データ型としては,Table B-1に示すものを指定できる。ただし,指定できる型は利用するデータベースエンジンによって異なるので,すべての型を利用できるとは限らないし,逆にTable B-1に示した以外の型が使えることもある。
Table B-1 指定可能な型
型 | 解説 |
BIT | ビット型 |
DATE,TIME,TIMESTAMP | 日付/時刻型 |
DECIMAL | 10進数バイナリ値 |
REAL | 倍精度浮動小数値 |
DOUBLE,PRECISION,FLOAT | 浮動小数値 |
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文についての解説は避ける。
Appendix B 2/6 | ||
本文のトップへ | Appendix Bのトップへ |