golang实现MySQL操作
golang有操作sql语句的标准库database/sql
,但是蛋疼的是它没有MySQL相关的数据库驱动。要连接MySQL数据库,需要引入MySQL数据库驱动
引入数据库驱动
$ go get -u github.com/go-sql-driver/mysql
//引用MySQL驱动
improt _"github.com/go-sql-driver/mysql"
连接MySQL数据库
import (
"database/sql"
"time"
_ "github.com/go-sql-driver/mysql"
)
db, err := sql.Open("mysql", "user:password@/dbname")
if err != nil {
panic(err)
}
//连接设置
//设置连接可重用的最大时间
db.SetConnMaxLifetime(time.Minute * 3)
//设置与数据库建立连接的最大数目,默认0,无限制
db.SetMaxOpenConns(10)
//设置连接池中的最大闲置连接数
db.SetMaxIdleConns(10)
sql语句
id := 2
var name string
sql := "update tables set name = tony where id = ?"
//Exec一般执行不需要返回数据结果的sql语句
db.Exec(sql, id)
//返回一行数据结果
db.QueryRow("select name from user where id=?",id).Scan(&name)
fmt.Println(name)
//返回多行数据结果
names := make