環境 CentOS6.6 MySQL5.6 PostgreSQL9.3
今までPostgreSQLを使ってたのでSQLは平気だけど、基本的な操作が結構違っていて戸惑います。
■オプション
| psql | mysql | 説明 |
|---|---|---|
| -U | -u | ユーザー名 |
| なし | -p | パスワード |
| -h | -h | ホスト名 |
| -p | -P | ポート名 |
| -c | -e | sql文実行 |
■独自コマンド
| psql | mysql | 説明 |
|---|---|---|
| Ctrl + c | \c | sql文の中断 |
| \x | \G | 結果の縦表示 |
Ctrl + c と \c の違いが結構間違ってつらい。
■命名規約
| psql | mysql | |
|---|---|---|
| 大文字小文字の区別 | なし | あり |
■トランザクションの範囲
| psql | mysql | |
|---|---|---|
| DDL | 一部 | なし |
| DML | 全部 | TRUNCATE非対応 |
これが結構びっくりした。
psqlではDROP TABLEとかをトランザクション内で実行できたので楽でした。
もっと違いを知りたい場合は
[postgresql] MySQLユーザに捧げる、ポスグレの特徴的な機能12選 | 私の小岩ホッチキス
が凄く詳しいです。