golang本身没有提供连接的MySQL的驱动,但是定义了标准接口供第三方开发驱动。这里连接的MySQL可以使用第三方库,第三方库推荐使用https://github.com/Go-SQL-Driver/MySQL这个驱动,更新维护都比较好。下面演示下具体的使用,完整代码示例可以参考最后。
下载驱动
sudo go get github.com/go-sql-driver/mysql
如果提示这样的失败信息:无法下载,$ GOPATH未设置。有关详细信息,请参阅:go help gopath,可以使用如下命令解决
sudo env GOPATH=/Users/chenjiebin/golang go get github.com/go-sql-driver/mysql
GOPATH的值根据自行环境进行替换。
创建测试表
在mysql test库中创建测试表
CREATE TABLE IF NOT EXISTS `test`.`user` (
`user_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '用户编号',
`user_name` VARCHAR(45) NOT NULL COMMENT '用户名称',
`user_age` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户年龄',
`user_sex` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户性别',
PRIMARY KEY (`user_id`))
ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci
COMMENT = '用户表'
数据库连接
数据库连接使用datebase / sql打开函数进行连接
db, err := sql.Open("mysql", "user:password@tcp(localhost:5555)/dbname?charset=utf8")
其中连接参数可以有如下几种形式:
user @ unix(/ path / to / socket)/ dbname?charset = utf8
user:password @ tcp(localhost:5555)/ dbname?charset = utf8
user:password @ / dbname
user:password @ tcp([de:ad:是:EF :: CA:FE]:80)/ DBNAME</