列の追加・削除
例)mst_tableにarea_codeを追加、削除
追加:ALTER TABLE mst_table ADD COLUMN area_code SMALLINT;※場所指定はできない(末尾に追加)
削除:ALTER TABLE mst_table DROP COLUMN area_code;
<裏技 〜列の追加箇所指定〜 >
Postgresは列の追加場所を指定できないが、一旦、追加したい場所以降の列を削除し、追加したい順番に並べ直して列追加すれば可能。あらかじめデータを退避しておき、削除した列に退避したデータを流し込む。
以下のような列並びのテーブルがあるとする
col1, col2, col3, col4, col5, col6
→col4とcol5の間にcol7を追加したい[やり方]
1.あらかじめテーブルの値を退避しておく
2.col5, col6を削除
→col1, col2, col3, col4
3.col7, col5 , col6の順番に追加
→col1, col2, col3, col4, col7, col5, col6 ※この段階ではcol7以降のデータは空
4.あとは以下に、退避したデータを流し込めばOK
col7, col5, col6
※NOT NULL制約がある場合などは、まず制約をつけずに追加し、後で制約をつける