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
プログラミング言語を学ぶのに大事なのは自分で何か役に立つ(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