Help us understand the problem. What is going on with this article?

MySQLとPostgreSQLコマンド比較表

More than 1 year has passed since last update.
機能 MySQL PostgreSQL
起動 $ mysql -p -h ホスト名 -P ポート番号 -u ユーザ名 DB名 $ psql -h ホスト名 -p ポート番号 -U ユーザ名 DB名
データベース一覧 show databases; \l
データベース切替 use DB名
\u DB名
\c DB名
テーブル一覧 show tables; \d、\dt、\d+、\dt+
テーブル定義確認 desc テーブル名; \d テーブル名
テーブルCREATE文確認 show create table テーブル名 pg_dump DB名 -U ユーザ名 -s -t テーブル名
インデックス一覧 SHOW INDEX FROM tbl_name; \d table_name
行表示の切り替え select * from t \G \x
select * from t;
SQLファイル実行 \. \i
SQLダンプ mysqldump pg_dump
TSVダンプ mysqldump -u USER --password=PASS DATABASE_NAME TABLE_NAME -T /tmp ???
TSVインポート LOAD DATA LOCAL INFILE '\$FILE_NAME' REPLACE INTO TABLE \$TABLE_NAME IGNORE 1 LINES; copy table_name from '/absolute_path/to/data.tsv' ( delimiter ' ', format csv, header true ); ※1
SQL時間計測 デフォルトで表示される \timing on
ログ出力開始 \T log.txt \o log.txt
ログ出力終了 \t \o
定義をコピーしてテーブル作成 create table t2 like t1; create table t2 (like t1);
実行計画 SQLの先頭にEXPLAINをつける SQLの先頭にEXPLAINをつける
接続先サーバ確認 \s \conninfo
接続を確認 show processlist; select * from pg_stat_activity;
連番ID カラム名 int auto_increment カラム名 serial
今日の日付 curdate() current_date
現在時刻 now() now()
ヘルプ \h または \? \?
設定ファイル ~/.my.cnf ~/.psqlrc

※1 TSVインポートはMySQL, PostgreSQLとも面倒だから、TSVからSQLに変換するスクリプトを自作するのがベスト。

information_schemaは両方に共通

information_schemaはSQL標準なので、どちらでも同じSQLが使える。

テーブル一覧を表示

SELECT table_catalog
       ,table_schema
       ,table_name
       ,table_type
FROM   information_schema.tables;

カラム一覧を表示

SELECT table_schema
       ,table_name
       ,column_name
       ,data_type
       ,character_maximum_length
       ,numeric_precision
       ,column_default
FROM   information_schema.columns
WHERE  table_name = 't1'
ORDER  BY table_name
          ,ordinal_position;

デフォルト接続先

PostgreSQL:環境変数で設定

export PGDATABASE=DB名
export PGHOST=ホスト
export PGPORT=ポート番号
export PGUSER=ユーザー名
export PGPASSWORD=パスワード

パスワードは~/.pgpassでも設定できる。

MySQL:~/.my.cnfで設定

[client]
database=DB名
user=ユーザー名
password=パスワード
aosho235
1981年生まれ。駅すぱあとの会社で新規サービスを開発しています。好きなものはOS~ミドルウェアのレイヤー、開発を楽にするためのツールやフレームワークの整備、自分自身が便利だと思うものを作ること。
https://aosho235.com/
val
経路検索システム「駅すぱあと」をはじめ、全国のデータと高い信頼性をベースにさまざまなサービスを展開。
https://www.val.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした