GO Lang MysqlでテーブルをSELECTするSAMPLE
GO 言語 ・・・若干というか、全然わかっていないのですが、とりあえず動いたのでメモする なにぶん、プログラムを久しぶりに書いたので、細かいところは全然だめですが、次回何かに応用するときに自分でここ見ようというレベルのメモになりますので、至らない部分はお許しください
MySQLのDriverをインストールする
とりあえずMySQL/Go lang一式がインストールされていることを前提として・・・・
環境変数のセット
GOPATHについては、どこでもお好きなところに設定しておく
[code lang=text] export GOPATH=/usr/local/go/ export PATH=$PATH:/usr/local/go/bin [/code]
MySQLドライバのインストール
[code lang=text] $ sudo go get github.com/go-sql-driver/mysql [/code]
MySQL Driverを利用してSELECTのテストをする
とりあえず。ワードプレスのデータをためして見る
[code lang=text]
cat mysql_select.go
package main
import ( "database/sql" "fmt"
_ "github.com/go-sql-driver/mysql" )
func main() { db, err := sql.Open("mysql", "myuser:mypassword@/wp")
if err != nil { panic(err.Error()) } defer db.Close() // 関数がリターンする直前に呼び出される
rows, err := db.Query("SELECT ID,post_title FROM wp_posts") // if err != nil { panic(err.Error()) }
defer rows.Close()
for rows.Next() { var ID int var post_title string if err := rows.Scan(&ID, &post_title); err != nil { panic(err.Error()) } fmt.Println(ID, post_title) }
} [/code]
実行結果
runtimeで実行
[code lang=text]
time go run mysql_select.go
1 Hello world! 2 サンプルページ 4 safecss 5 マークダウンでの記述 6 マークダウンでの記述 7 safecss 8 MySQL を初期化する方法
9 MySQL を初期化する方法
real 0m1.228s user 0m1.010s sys 0m0.185s [/code]
コンパイルしたものを実行
コンパイルしたものは、拡張子がついていない実行モジュールが生成されるので、これを実行する
[code lang=text]
go build mysql_select.go
time ./mysql_select
1 Hello world! 2 サンプルページ 4 safecss 5 マークダウンでの記述 6 マークダウンでの記述
7 safecss
real 0m0.010s user 0m0.005s sys 0m0.003s [/code]
あたりまえだけど、コンパイルしたやつは、早い!!!