PostgreSQLのtable,view等を作成するDDL文のサンプルです。
DDLとは、Data Definition Languageの略でデータを定義する言語です。
※Oracleのようなシノニムはありません。
テーブル
テーブル関連のサンプルです。
テーブルを作成する(create table)
CREATE TABLE syain(
id INT,
name VARCHAR(20) not null,
romaji VARCHAR(20),
primary key(id)
);
2行目は、整数型のINT型を指定しています。
3行目は、not null制約をつけています。
5行目は、プライマリーキーを指定しています。2行目のidを指しています。
テーブルの項目の属性を変更する(alter table)
ALTER TABLE syain ALTER COLUMN
id TYPE VARCHAR(20)
;
syainテーブルの項目idをvarchar型に変更しています。
テーブルに項目を追加する(alter table)
ALTER TABLE syain ADD
mail VARCHAR(30)
;
テーブルの最後尾に項目mailが追加されます。
テーブルの項目を削除する(alter table)
ALTER TABLE syain DROP
mail
;
テーブルの項目mailを削除しています。データ型と桁数の指定は不要です。
テーブルの項目名を変更する(alter table)
ALTER TABLE syain
RENAME COLUMN name TO Namae;
テーブルの項目名のnameをNamaeに変更しています。
テーブルの項目をNOT NULLにする(alter table)
テーブルの項目名のnameをNOT NULLに変更しています。
ALTER TABLE syain
ALTER COLUMN name SET NOT NULL;
テーブルの項目名のnameをNOT NULLに変更しています。
テーブルの項目をNULL可能にする(alter table)
ALTER TABLE syain
ALTER COLUMN name DROP NOT NULL;
テーブルの項目名のnameをNULLに変更しています。
テーブル名を変更する(alter table)
ALTER TABLE syain
RENAME TO syain2;
テーブル名のsyainをsyain2に変更しています。
テーブルを削除する(drop table)
drop table syain;
drop tableを使用します。項目の指定は不要です。
ビュー
ビューは、sqlで仮想の表を作成します。
ビューを作成する
CREATE VIEW v_syain AS
select
id,
name
from
syain;
2~6行目は、select文でsyainテーブルからビューを作成しています。
select文なので複数のテーブルを結合したsqlも作成できます。
ビューを変更する
CREATE OR REPLACE VIEW v_syain AS
select
id,
name,
romaji
from
syain;
1行目は、OR REPLACEを追加しています。
5行目は、viewに項目romajiを追加しています。
ビューを削除する
DROP VIEW v_syain;
drop viewを使用します。項目の指定は不要です。
シーケンス
シーケンスは、順序とも呼ばれます。指定した値の増分を取得できます。
シーケンスを作成する
CREATE SEQUENCE syain_id
START WITH 1
INCREMENT BY 1;
2行目は、最初は1から始まると指定しています。
3行目は、増分です。1ずつ増えます。
シーケンスの使い方
select nextval('syain_id') --1
select nextval('syain_id') --2
1行目は、nextvalで次の値を取得します。再度、nextvalを使用すると設定した増分で2になります。
シーケンス名はシングルコーテーションでくくります。
シーケンスを削除する
DROP SEQUENCE syain_id;
DROP SEQUENCEを使用します。
ファンクションを削除する
DROP FUNCTION test1();
DROP FUNCTION test1(int);
ファンクションに引数がある場合は、引数のデータ型を指定します。
プロシージャを削除する
DROP PROCEDURE test1();
DROP PROCEDURE test1(int);
プロシージャに引数がある場合は、引数のデータ型を指定します。
関連の記事