📓
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