导入MYSQL 包
1.下载并导入数据库驱动包
官方不提供实现,先下载第三方的实现,点击这里查看各种各样的实现版本。
这里选择了Go-MySQL-Driver这个实现。地址是:https://github.com/go-sql-driver/mysql/。
然后按照里面的说明下载驱动包:
$ go get github.com/go-sql-driver/mysql
最后导入包即可:
import "database/sql" import _ "github.com/go-sql-driver/mysql"
2.连接至数据库
db, err := sql.Open("mysql", "root:root@/uestcbook")
3.执行查询
(1)Exec result, err := db.Exec( "INSERT INTO users (name, age) VALUES (?, ?)", "gopher", 27, ) (2)Query rows, err := db.Query("SELECT name FROM users WHERE age = ?", age) if err != nil { log.Fatal(err) } for rows.Next() { var name string if err := rows.Scan(&name); err != nil { log.Fatal(err) } fmt.Printf("%s is %d\n", name, age) } if err := rows.Err(); err != nil { log.Fatal(err) } (3)QueryRow var age int64 row := db.QueryRow("SELECT age FROM users WHERE name = ?", name) err := row.Scan(&age) (4)Prepared statements age := 27 stmt, err := db.Prepare("SELECT name FROM users WHERE age = ?") if err != nil { log.Fatal(err) } rows, err := stmt.Query(age) // process rows
4. 事务
tx, err := db.Begin() if err != nil { log.Fatal(err) }
测试代码
package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { db, _ := sql.Open("mysql", "root:root@tcp(localhost:3306)/amz?charset=utf8") rows, _ := db.Query("select name from product_amz limit 0,100") for rows.Next() { var name string rows.Scan(&name) fmt.Println(name) } //db.Exec("") }