Go | MariaDB に接続し select を実行する

MariaDB に接続できるようになったので、実際に DB を操作してみる。

DB 仕様

user テーブルに以下のデータが保存されている。MariaDB の接続情報は以前の記事と同じ。

id name
1 Alice
2 Bob
3 Charie
4 David
5 Eve

コード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package main

import (
"database/sql"
"fmt"
"strconv"
_ "github.com/go-sql-driver/mysql"
)

var (
Client *sql.DB
err error
)

func main() {
dataSourceName := "example:example@tcp(172.168.1.100:3306)/example?charset=utf8&parseTime=true"

Client, err = sql.Open("mysql", dataSourceName)
if err != nil {
panic(err)
}
defer Client.Close()

rows, err := Client.Query("SELECT id,name FROM users")
if err != nil {
panic(err.Error())
}

for rows.Next() {
var id int
var name string

err := rows.Scan(&id, &name)
if err != nil {
panic(err)
}
fmt.Println(strconv.Itoa(id) + ":" + name)
}
}

実行

1
2
3
4
5
6
# go run sample02.go
1:Alice
2:Bob
3:Charie
4:David
5:Eve