PostgreSQL / MySQL

2025.12.07

接続

コマンド説明
psql -U user -d dbnamePostgreSQL接続
mysql -u user -p dbnameMySQL接続
\q / exit接続終了
\c dbnameDB切り替え(PostgreSQL)
use dbname;DB切り替え(MySQL)

データベース操作

SQL説明
CREATE DATABASE dbname;データベース作成
DROP DATABASE dbname;データベース削除
\l / SHOW DATABASES;DB一覧表示
\dt / SHOW TABLES;テーブル一覧表示
\d table / DESCRIBE table;テーブル構造表示

テーブル操作

SQL説明
CREATE TABLE t (col type);テーブル作成
DROP TABLE t;テーブル削除
TRUNCATE TABLE t;全データ削除(高速)
ALTER TABLE t ADD col type;カラム追加
ALTER TABLE t DROP col;カラム削除
ALTER TABLE t RENAME TO new;テーブル名変更

データ型

説明
INTEGER / INT整数
BIGINT大きな整数
DECIMAL(p,s)固定小数点
FLOAT / REAL浮動小数点
VARCHAR(n)可変長文字列
TEXT長いテキスト
BOOLEAN真偽値
DATE日付
TIMESTAMP日時
JSON / JSONBJSONデータ
UUID一意識別子

SELECT(データ取得)

SQL説明
SELECT * FROM t;全カラム取得
SELECT col1, col2 FROM t;特定カラム取得
SELECT DISTINCT col FROM t;重複除去
SELECT * FROM t WHERE cond;条件指定
SELECT * FROM t ORDER BY col;並び替え
SELECT * FROM t LIMIT 10;件数制限
SELECT * FROM t OFFSET 10;オフセット

WHERE 条件

条件説明
col = 'value'等しい
col != 'value' / col <> 'value'等しくない
col > / < / >= / <=比較
col BETWEEN a AND b範囲
col IN ('a', 'b')リスト内
col LIKE '%pattern%'パターンマッチ
col ILIKE '%pattern%'大文字小文字無視(PostgreSQL)
col IS NULLNULL判定
col IS NOT NULL非NULL判定
cond1 AND cond2AND条件
cond1 OR cond2OR条件

INSERT / UPDATE / DELETE

SQL説明
INSERT INTO t (cols) VALUES (vals);データ挿入
INSERT INTO t VALUES (vals);全カラム挿入
UPDATE t SET col=val WHERE cond;データ更新
DELETE FROM t WHERE cond;データ削除

JOIN(結合)

SQL説明
INNER JOIN t2 ON t1.id = t2.id内部結合
LEFT JOIN t2 ON t1.id = t2.id左外部結合
RIGHT JOIN t2 ON t1.id = t2.id右外部結合
FULL OUTER JOIN t2 ON ...完全外部結合
CROSS JOIN t2直積

集約関数

関数説明
COUNT(*)行数カウント
SUM(col)合計
AVG(col)平均
MIN(col)最小値
MAX(col)最大値
GROUP BY colグループ化
HAVING condグループ条件

インデックス

SQL説明
CREATE INDEX idx ON t(col);インデックス作成
CREATE UNIQUE INDEX idx ON t(col);ユニークインデックス
DROP INDEX idx;インデックス削除
\di / SHOW INDEX FROM t;インデックス一覧

トランザクション

SQL説明
BEGIN; / START TRANSACTION;トランザクション開始
COMMIT;コミット
ROLLBACK;ロールバック
SAVEPOINT name;セーブポイント作成
ROLLBACK TO name;セーブポイントまで戻る

ユーティリティ

コマンド説明
EXPLAIN query;実行計画表示
EXPLAIN ANALYZE query;実行計画と実行時間
VACUUM;不要領域回収(PostgreSQL)
ANALYZE t;統計情報更新
\timing実行時間表示(PostgreSQL)
← 一覧に戻る