原标题:Golang学习笔记之Golang与Mysql交互
原文作者:学生黄哲
来源:简书
Go标准库中没有数据库驱动。参见http://golang.org/s/sqldrivers获取第三方驱动。
这里选择了Go-MySQL-Driver这个实现。地址是:https://github.com/go-sql-driver/mysql/。
安装:go get github.com/go-sql-driver/mysql
官方database/sql包文档:https://studygolang.com/pkgdoc
有关于MySQL基本操作可以去看我的另一篇简书:https://www.jianshu.com/p/2e01f4c6b626
使用的数据库定义如下
一、打开数据库
函数原型
func Open(driverName, dataSourceName string) (*DB, error)
Open打开一个dirverName指定的数据库,dataSourceName指定数据源,一般包至少括数据库文件名和(可能的)连接信息。
1//第⼀步:打开数据库,格式是 ⽤户名:密码@/数据库名称?编码⽅式
2db, err := sql.Open( "mysql", "root:123@/mydb?charset=utf8")
3iferr != nil{
4fmt.Println(err)
5}
6//关闭数据库
7deferdb.Close()
二、查询数据
函数原型
func (db *DB) Query(query string, args ...interface{}) (*Rows, error)
Query执行一次查询,返回多行结果(即Rows),一般用于执行select命令。参数args表示query中的占位参数。
1varid int
2varname string
3varprice float64
4//查询数据,指定字段名,返回sql.Rows结果集
5rows, err := db.Query( "select id,name,price from product")
6iferr != nil{
7fmt.Println(err)
8}
9forrows.Next() {
10rows.Scan(&id, &name, &price)
11fmt.Println(id, name, price)
12}<