驱动
为了Go语言可以提前定义操作一个数据库的所有行为(接口)和数据(结构体)的规范,这些定义在database/sql下。
MySQL驱动
- https://github.com/go-sql-driver/mysql 支持 database/sql,推荐
- https://github.com/ziutek/mymysql 支持 database/sql,支持自定义接口
- https://github.com/Philio/GoMySQL 不支持 database/sql,支持自定义接口
go-sql-driver/mysql库是Go语言官方推荐的MySQL驱动库,可以很方便地实现对MySQL数据库的连接和操作。
安装mysql Go驱动
1 | go get -u github.com/go-sql-driver/mysql |
导入
1 | import _ "github.com/go-sql-driver/mysql" // 当导入带有空白标识符前缀 _ 的包时,将调用包的 init 函数。该函数注册驱动程序 |
注册驱动
1 | // github.com/go-sql-driver/mysql/mysql/driver.go 代码中有注册驱动 |
连接数据库
DSN例子 https://github.com/go-sql-driver/mysql#examples
[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN]
1 | package main |
db类型是*sql.DB
,是一个操作数据库的句柄,底层是一个多协程安全的连接池。
操作数据库
获取mysql版本
1 | // 获取mysql版本 |
创建表
1 | // 创建表 |
插入数据
1 | // 插入数据 |
删除数据
1 | // 删除数据 |
修改数据
1 | // 修改数据 |
查询数据
1 | // 查询数据 |
删除表
1 | // 删除表 |