カッパでも分かるiOSアプリゲーム開発

カッパがひたすらゲーム制作に関することを書くブログです。Railsに関するTipsもたまにまとめてます。

Rails の新プロジェクトが postgresql だったので mysql に別れを告げた

スポンサードリンク

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 (Software Design plus)
f:id:InvokeTwoA:20151023183618p:plain「新規PJでは mysql ではなく pg を使っていた!」
f:id:InvokeTwoA:20151215172640p:plain「postgresql ……実在したのですね」
f:id:InvokeTwoA:20151023183618p:plain「俺も今まで都市伝説だと思ってたよハッハー」
f:id:InvokeTwoA:20151215172640p:plain「ORマッパー(この単語を書くたびに真っ裸を連想して恥ずかしくなる)のおかげで Rails のコーディングには影響ないけど、やっぱ pg に直接入ってデータ確認したりする必要性は出て来ますな」
f:id:InvokeTwoA:20151023183618p:plain「mysql 極めたカッパ様なら pg なんて楽勝だぜー」
f:id:InvokeTwoA:20151215172640p:plain(そう思っていた時期がカッパさんにもあったのです)
とりあえず自分がよく使うコマンドのまみむメモ

DBにログイン(この表現で良いんだろうか)

  • mysql
mysql -u (ユーザー) -p (パスワード)  (データベース名)
  • pg
psql -d (データベース名)

データベース一覧

  • mysql
SHOW DATABASES
  • pg (DBにログイン前に下記コマンド実行)
psql -l

テーブル一覧を表示

  • mysql
SHOW TABLES
  • pg
\d

テーブルの定義確認

  • mysql
DESC (テーブル名)
  • pg
\d (テーブル名)

f:id:InvokeTwoA:20151023183618p:plain「さっきから出てくる エンディー、はなんなんだ……」
f:id:InvokeTwoA:20151215172640p:plain「まるで覚えられる気がしませんな」

テーブル内容の一覧取得

  • mysql
SELECT * FROM (テーブル名)
  • pg
SELECT * FROM (テーブル名)

f:id:InvokeTwoA:20151023183618p:plain「ついに共通のコマンドが!」
f:id:InvokeTwoA:20151215172640p:plain「やっとpgと友達になれた気がします」
f:id:InvokeTwoA:20151023183618p:plain「しかし、mysql で超お世話になるエンジー(バックスラッシュ+G)を末尾につけても綺麗に表示されない!」

コマンド結果を縦に表示

  • mysql
SELECT * FROM (テーブル名) \G
  • pg
\x

f:id:InvokeTwoA:20151023183618p:plain「\x を実行したら表示モードが切り替わったー!」
f:id:InvokeTwoA:20151215172640p:plain「この微妙な違い。モヤっとしますなぁ」
f:id:InvokeTwoA:20151023183618p:plain「でもモード変更にする仕様はちょっと嬉しい。ちょっとだけね」

追記 終了する時

f:id:InvokeTwoA:20151023183618p:plain「さーて、定時だし帰るかー」
f:id:InvokeTwoA:20151215172640p:plain「カッパさーん! exit しようとしたらそんなコマンド無いと怒られましたー」
f:id:InvokeTwoA:20151023183618p:plain「!?」

  • mysql
exit
  • pg
\q

f:id:InvokeTwoA:20151023183618p:plain「q は quit の q だし直感的に納得」
f:id:InvokeTwoA:20151215172640p:plain「タイプ数が少なくて済むぜやったー、と取るか、分かりにくいぜヒャッハーと受け取るべきか」

総評

  • select, insert, update, delete が同じ構文なのでなんとかなる
  • 先に学んだ方を好きになるよね
  • 奴ら(postgresql)と俺(mysql)は似てるようで違う