最近の変更サイトマップ

PostgreSQLコマンド例集

自分用メモ

列の追加

ALTER TABLE テーブル名 ADD COLUMN 列名 型 DEFAULT 黙認値;

プライマリキー制約の変更

既存の制約を一旦削除し、新たに制約を設定するという流れで行う。さもないと「multiple primary keys for table “テーブル名” are not allowed」と怒られる。

なお、制約名はテーブル名に「_pkey」を追加したものである。

ALTER TABLE テーブル名 DROP CONSTRAINT テーブル名_pkey;
ALTER TABLE テーブル名 ADD PRIMARY KEY (列名, 列名, ...);

SELECT結果にテーブルにない固定値列を追加する

SELECTの中に「固定値 as 列名」を入れる。

■SQL

SELECT id,
       name,
       '日本' AS country
FROM users;

■実行結果

id name country
1山田太郎日本
2佐藤花子日本
3鈴木一郎日本

合わせ技で固定値にとしてサブクエリの結果を使うこともできる。

■SQL

SELECT id,
       name,
       (SELECT CAST(c.code AS INTEGER) FROM countries AS c WHERE c.name='日本') AS country_id
FROM users;

■実行結果(contriesテーブルでname='日本', code='81'が定義されているとする)

id name country_id
1山田太郎 81
2佐藤花子 81
3鈴木一郎 81
programming/db/postgresql_command_examples.txt · 最終更新: 2018-09-13 18:33 by decomo
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0