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)
}
}
本事例推荐第三方库为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)
}
}
相关文章推荐
- MySQL学习笔记9:连接查询
- PHP学习笔记(三)连接MySQL
- 【mysql基础】mysql学习笔记-2-存储引擎
- ubuntu学习笔记5_MySQL基础功能及配置
- MySQL学习笔记04-MySQL的启动和连接
- 数据库、连接-mysql学习笔记二-by小雨
- MySQL学习笔记04-MySQL的启动和连接 .
- MySQL学习笔记_8_SQL语言基础复习
- 树莓派学习笔记1 -- 解决mysql无法远程连接问题
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<数据库连接配置>(二十八)
- [Golong]学习笔记(一) 基础知识
- MySQL学习笔记_8_SQL语言基础复习
- go语言 基础编程学习笔记
- MySQL学习笔记——MySQL服务器的连接监听情况进行控制
- Java学习笔记——JDBC之与数据库MySQL的连接以及增删改查等操作
- MySQL学习笔记 1 - 基础知识
- 基础中的基础篇PHP . MYSQL .我的学习笔记
- MySQL学习笔记_8_SQL语言基础复习
- SQL 学习笔记<六> MySQL存储过程基础
- 【mysql基础】mysql学习笔记-1