テーブル定義の修正
今回は以下のようなテーブル定義の変更を行うよ。
- テーブル作成
- テーブル名変更
- カラム名変更
- カラム追加
- カラム削除
- デフォルト値の設定
- NOT NULL制約
- プライマリーキー追加
- テーブル削除
テーブル作成
まずは以下のようなparson
テーブルを作成するよ。
id | name | age |
---|---|---|
CREATE TABLE parson (id INTEGER, name VARCHAR(100), age INTEGER);
テーブル名変更
先ほど作成したparson
テーブルをparson_detail
テーブルに変更するよ。
ALTER TABLE parson RENAME TO parson_detail;
カラム名変更
parson_detail
テーブルの列名name
をfirst_name
に変更するよ。
ALTER TABLE parson_detail RENAME COLUMN name TO first_name;
id | first_name | age |
---|---|---|
カラム追加
次にカラムの追加を行うよ。今回はparson_detail
テーブルの列名first_name
の後にlast_name
を追加するよ。
ALTER TABLE parson_detail ADD last_name VARCHAR(100) AFTER first_name;
id | first_name | last_name | age |
---|---|---|---|
カラム削除
今度はparson_detail
テーブルから列名age
を削除するよ。
ALTER TABLE parson_detail DROP age;
id | first_name | last_name |
---|---|---|
デフォルト値の設定
次にデフォルト値の設定を行うよ。
ひとまず、parson_detail
テーブルに列名age
を追加した以下のようなテーブルを用意してね。
id | first_name | last_name | age |
---|---|---|---|
ここで、age
にデフォルトで0
を入れるようにするよ。
ALTER TABLE parson_detail ALTER COLUMN age SET DEFAULT 0;
NOT NULL制約
今度は、指定した列名に対してNOT NULL制約
をつけるよ。
ここではfirst_name
はNULLでないようにするよ。
ALTER TABLE parson_detail ALTER COLUMN first_name VARCHAR(100) SET NOT NULL;
プライマリーキー追加
プライマリーキーへの変更をするよ。
ALTER TABLE parson_detail ADD PRIMARY KEY (id);
テーブル削除
最後にparson_detail
テーブルを削除するよ。
DROP TABLE parson_detail;
まとめ
テーブル定義修正のあれこれを書いたよ。まだほかにもあるけれどまずはこれを押さえておこう。