官方文档

安装驱动

go
go get -u github.com/go-sql-driver/mysql

连接

引入驱动

go
import (
"database/sql"
"fmt"
"log"
//引入驱动
_ "github.com/go-sql-driver/mysql"
)
go
db, err := sql.Open("mysql", "root:root@tcp(127.0.0.1:3306)/gorm_new_db")
if err != nil {
log.Fatalf("数据库连接失败 %s", err)
}
//判断是否连接成功
err = db.Ping()
if err != nil {
log.Fatalf("数据库连接失败 %s", err)
}
fmt.Println(db)

执行sql

除查询外,使用Exec函数

go
//插入数据
res, err := db.Exec("insert into user(username,age) values ('lier',29)")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(res)

查询sql

可以使用Query函数

sql
rows, err := db.Query("select id,username from user")
if err != nil {
log.Fatalf("查询失败 %s", err)
}
defer rows.Close()
for rows.Next() {
var id int
var name string
err = rows.Scan(&id, &name)
fmt.Println(id, name, err)
}

也可以使用QueryRow函数,查一行

sql
//查一行
var id int
var name string
err = db.QueryRow("select id,username from user").Scan(&id, &name)
fmt.Println(id, name)