SSブログ

Go 言語で MySQL にアクセスしてみる [golang]

http://nakagami.blog.so-net.ne.jp/2013-08-24 の続き。
プログラミング言語を学ぶのに大事なのは自分で何か役に立つ(or おもしろい)コードを書くことだと思う。
というか、役に立つプログラムを書けないんだったら、あんま意味がない。
人によって何が役に立つのかっていうのは違うし、興味のある分野も違うと思うけど、僕でいうと MySQL のデータを操作できるようになると使い道もありそうなので、まずは Go 言語で MySQL を操作できるようにすることを目指す。

MySQL のドライバーがいくつかあるけど、どれがオススメ?
stackoverflow にあった。さすが stackoverflow サンプルコードもあって助かる。
http://stackoverflow.com/questions/11353679/whats-the-recommended-way-to-connect-to-mysql-from-go
やっぱり http://nakagami.blog.so-net.ne.jp/2013-08-24 の時に調べたドライバーのどっちからしい
https://github.com/ziutek/mymysql
https://github.com/go-sql-driver/mysql/
リポジトリを見ると、今時点では mymysql のほうが、最近まで commit されていて App Engine CloudSQL のサポートとか Native エンジンとか Thread safe エンジンとか色々やってる。
サイトの README.md に使い方の説明が詳しい。
go-sql-driver よりも高機能なのか、やり過ぎなのかよくわからない

import するライブラリは違っていて、接続(Open) の時のパラメータは違うけど、Interface が同じものなので、ドライバーは違っても同じコードになる。なるほど。
他の RDBMS も database/sql のインターフェースを使ってアクセスするのね。

Python を使っていると、クエリーを発行するメソッドが
1. 実行して結果が必要ないのが Exec()
2. 1行だけ結果を取得するのが QueryRow()
3. 複数取得したいのが Query() と
と分かれているのがなじめないけど、そういうもんなので慣れよう。

コードの断片だとわからないので、動くサンプルコード書いた
https://gist.github.com/nakagami/6349319

コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

Facebook コメント

トラックバック 0