PostgreSQL ALTER

ALTER TABLE、VIEW、SCHEMA データベースやカラムの追加、変更、削除

名称の変更

SQL

--データベース foo を bar に変更 ALTER DATABASE foo RENAME TO bar; --テーブル foo を bar に変更 ALTER TABLE foo RENAME TO bar; --テーブル foo のカラム bar を baz に変更 ALTER TABLE foo RENAME COLUMN bar TO baz; --ビュー foo を bar に変更 ALTER VIEW foo RENAME TO bar; --スキーマ foo を bar に変更 ALTER SCHEMA foo RENAME TO bar;

カラムの変更

SQL

--テーブル foo にカラム bar を追加 ALTER TABLE foo ADD COLUMN bar text; --テーブル foo からカラム bar を削除 ALTER TABLE foo DROP COLUMN bar; --テーブル foo のカラム bar の型を変更 ALTER TABLE foo ALTER COLUMN bar TYPE integer; --型変更時のエラーを回避 --ERROR: 列"bar"を型integerにキャストできません --HINT: 変換を行うためにUSING式を指定してください ALTER TABLE foo ALTER COLUMN bar TYPE integer USING bar::integer; --テーブル foo のカラム bar に default を追加 ALTER TABLE foo ALTER COLUMN bar SET default '1'; --テーブル foo からカラム bar の default を削除 ALTER TABLE foo ALTER COLUMN bar DROP default; --テーブル foo にカラム bar に 非NULL を追加 ALTER TABLE foo ALTER COLUMN bar SET NOT NULL; --テーブル foo からカラム bar の 非NULL を削除 ALTER TABLE foo ALTER COLUMN bar DROP NOT NULL; --テーブル foo に プライマリーキー を追加 ALTER TABLE foo ADD CONSTRAINT foo_pkey PRIMARY KEY (foo); --テーブル foo から プライマリーキー を削除 ALTER TABLE foo DROP CONSTRAINT foo_pkey; --テーブル foo のカラム bar に シーケンス を追加 CREATE SEQUENCE bar_seq; ALTER TABLE foo ALTER bar SET DEFAULT nextval('bar_seq'); --DROP defaultでシーケンスを削除

最新の記事

プロフィール

流されるままにウェブ業界で仕事しています。主にLAPP環境でPHPを書いています。最近はjQueryで遊んでいます。
※動作確認について