您的位置:首页 > 数据库 > SQL

Go学习笔记之连接MySQL基础

2017-12-10 00:00 465 查看
golang本身没有提供连接mysql的驱动,但是定义了标准接口供第三方开发驱动。
本事例推荐第三方库为https://github.com/Go-SQL-Driver/MySQL这个驱动

安装
使用命令: go get github.com/go-sql-driver/mysql
注意:go get命令默认将第三方库安装到GO PATH路径下

若不知道GO PATH设置的路径,可以使用go env命令查看

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

var db *sql.DB
var dataSourceName string = "root:root@tcp(localhost:3307)/test?charset=utf8"

func init() {
db, _ = sql.Open("mysql", dataSourceName)
//用于设置最大打开的连接数,默认值为0表示不限制
db.SetMaxOpenConns(2000)
//用于设置闲置的连接数
db.SetMaxIdleConns(1000)
db.Ping()
}

func testMySQL() {
rows, err := db.Query("SELECT * FROM user limit 1")
checkErr(err)

stmt, err := db.Prepare(`INSERT user (user_name,user_age,user_sex) values (?,?,?)`)
checkErr(err)
res, err := stmt.Exec("tony", 20, 1)
checkErr(err)

stmt, err := db.Prepare(`UPDATE user SET user_age=?,user_sex=? WHERE user_id=?`)
checkErr(err)
res, err := stmt.Exec(21, 2, 1)
checkErr(err)

stmt, err := db.Prepare(`DELETE FROM user WHERE user_id=?`)
checkErr(err)
res, err := stmt.Exec(5)
checkErr(err)
}

func checkErr(err error) {
if err != nil {
panic(err)
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: