📓

PostgreSQLのコマンド集【保存版】

に公開

サービス

サービスの起動(mac)

brew services start postgresql

サービスの停止(mac)

brew services stop postgresql

サービスの再起動(mac)

brew services restart postgresql

ターミナルを起動

データベースとユーザーを指定して接続

psql -d データベース名 -U ユーザ名

ホスト名とポート番号を指定して接続

psql -h ホスト名 -p ポート番号 -d データベース名 -U ユーザ名

データベース

データベースの一覧の表示

\l

データベースの選択

\c データベース名

\connect データベース名でも同じ

テーブル関連

現在のDBにあるテーブル一覧

\dt

テーブルの詳細表示(カラム・型・制約など)

\d テーブル名

インデックス表示

\di

テーブル作成

create table テーブル名 (
    カラム名 データ型 制約,
    ...
);

テーブル削除

drop table テーブル名;

存在する場合のみ削除

drop table if exists テーブル名;

データの取得

テーブル内のデータ一覧

select * from テーブル名;

指定したカラムの内容を昇順(小さい順)に表示

select * from テーブル名 order by カラム;

指定したカラムの内容を降順(大きい順)に表示

select * from テーブル名 order by カラム desc;

表示件数を制限

select * from テーブル名 limit 数;

表示開始位置を指定

select * from テーブル名 offset 数;

指定したカラムの重複を除いて表示

select distinct カラム名 from テーブル名;

集計関数

合計値

select sum(カラム名) from テーブル名;

最大値

select max(カラム名) from テーブル名;

最小値

select min(カラム名) from テーブル名;

平均値

select avg(カラム名) from テーブル名;

データ操作

データの更新

update テーブル名 set カラム名 = 新しい値 where 条件;

データの削除

delete from テーブル名 where 条件;

テーブル操作

テーブル名を変更

alter table 旧テーブル名 rename to 新テーブル名;

テーブルの所有者変更

alter table テーブル名 owner to 新オーナー名;

カラムの追加

alter table テーブル名 add column カラム名 データ型;

カラムを削除

alter table テーブル名 drop column カラム名;

カラム名を変更

alter table テーブル名 rename column 旧カラム名 to 新カラム名;

カラムの型を変更

alter table テーブル名 alter column カラム名 type 新データ型;

主キー制約を追加

alter table テーブル名 add constraint 制約名 primary key (カラム名);

外部キー制約を追加

alter talbe テーブル名 add constraint 制約名 foreign key (カラム名) references 参照先テーブル(カラム);

カラムにデフォルト値の設定

alter table テーブル名 alter column カラム名 set default 値;

削除はalter table テーブル名 alter column カラム名 drop default 値;

NOT NULL制約を付与

alter table テーブル名 alter column カラム名 set NOT NULL;

削除はalter table テーブル名 alter column カラム名 drop not null;

インデックス

インデックスを追加

create index インデックス名 on テーブル名(カラム名);

インデックスの削除

drop index インデックス名;

view

viewの作成

create view ビュー名 as 指定コマンド;

viewの一覧表示

\dv

viewの使用方法

select * from ビュー名;

view定義の変更

create or replace view ビュー名 as 指定コマンド;

既存ビューがあれば置き換え、なければ作成

viewの削除

drop view ビュー名;

その他有用コマンド

現在の接続情報

\conninfo

SQL実行結果の形式変更(整形表示)

\x

スキーマ一覧

\dn

シーケンス一覧

\ds

関数一覧

\df

ロール一覧表示

\du

ヘルプ表示

psqlのコマンド一覧

\?

sqlの構文ヘルプ

\h

例:\h select

Discussion