素のRubyでMySQLクエリの結果を取得する

Ruby+MySQLの処理をする時、たいていはMySQL操作系のライブラリでruby-mysqlmysql2とかを使うケースが多いのだろうが、それらのライブラリなしの素のRuby環境でMySQLのクエリ操作を行う必要があったので、その際に書いたソースを汎用化してまとめてみた。まぁ…ほとんどニーズはないかもしれんが、一応TIPSとして共有化しておこうかと。

mysql_query.rb

やってることは、コマンドラインでMySQLのクエリを発行しているのと同義で、標準出力としてのMySQLクエリの結果をRuby側で取り込んでハッシュにパースしているだけです。
なお、MySQL5.6からコマンドラインにパスワードを付与してmysqlコマンドを実行すると警告が出てしまうので、MySQLへの接続は.user.cnfのファイルに書いて、そっちからインポートするようにしている。

.user.cnf

で、実行すると、

と、MySQLのクエリ実行結果が、カラム名がキーとなったハッシュを要素とした配列で返ってくる。
クエリを引数化して関数化すると簡易的なCRUDとしても使えるかもしれん…が、やっぱりほとんどニーズがないだろうな(^_^;

おすすめ記事