タイトル: テーブル作成
MariaDBのテーブル作成のSQLです。
【構文】 ※ []は任意項目
CREATE TABLE テーブル名(
カラム名 データ型 [制約など]
,カラム名 データ型 [制約など]
,・・・
[,制約など]
);
【例】
CREATE TABLE TEST_TABLE(
id VARCHAR(9),
subId VARCHAR(9),
name VARCHAR(255) NOT NULL,
deleteFlag INT,
PRIMARY KEY(id, subId)
);
【制約の種類】
PRIMARY KEY:主キーを指定する。
UNIQUE:対象列を一意にする。
NOT NULL:NULLを許容しない。
DEFAULT ‘値’:INSERT時に値が指定されなかった場合に入る値を定義する。
AUTO_INCREMENT:番号が自動で+1ずつ採番される列にする。
【注意点】
制約はテーブル作成の際、列毎に定義することができるが、主キー制約など複数カラムに対して制約をかける場合も多々あるので、基本的に複数カラムが制約の対象のなりうるものは列定義が全て終わった後に制約の定義をするようにした方が良い。
例1(カラム毎に定義 = 複数カラムに定義できない):
CREATE TABLE TEST_TABLE(
id VARCHAR(9) PRIMARY KEY,
subId VARCHAR(9)
);
例2(最後にまとめて定義 = 複数カラムに定義できる):
CREATE TABLE TEST_TABLE(
id VARCHAR(9),
subId VARCHAR(9),
PRIMARY KEY(id, subId)
);
【UNSIGNED】
データ型の後にUNSIGNEDを付けることで、負の数の使用を禁止することができ、正の数の格納範囲が倍に増えます。