2
2

SQLでテーブル定義を変更しよう

Posted at

テーブル定義の修正

今回は以下のようなテーブル定義の変更を行うよ。

  • テーブル作成
  • テーブル名変更
  • カラム名変更
  • カラム追加
  • カラム削除
  • デフォルト値の設定
  • 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テーブルの列名namefirst_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;

まとめ

テーブル定義修正のあれこれを書いたよ。まだほかにもあるけれどまずはこれを押さえておこう。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2