go-sql-drivergo get -u github.com/go-sql-driver/mysql国内用户可以通过代理加快go类库下载
Go版本 >= 1.13, 推荐使用以下方式配置代理
go env -w GO111MODULE=on
go env -w GOPROXY="https://goproxy.io,direct"建立连接池
用方法创建数据库链接池
sql.DBsqlpackage main
import (
"fmt"
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
func main() {
pool, err := sql.Open("mysql", "username:password@tcp(127.0.0.1:3306)/test")
if err != nil {
panic(err.Error())
}
defer pool.Close()
}
添加数据
tasksCREATE DATABASE IF NOT EXISTS test;
use test;
CREATE TABLE IF NOT EXISTS tags (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL
) ENGINE=INNODB;db.Queryinsert, err := pool.Query("INSERT INTO tags(title) VALUES ('tag')")
if err != nil {
panic(err.Error())
}
defer insert.Close()
查看数据
structtype Tag struct {
ID int `json:"id"`
Title string `json:"title"`
}
查询代码如下:
results, err := pool.Query("SELECT id, title FROM tags")
if err != nil {
panic(err.Error()) // proper error handling instead of panic in your app
}
for results.Next() {
var tag Tag
err = results.Scan(&tag.ID, &tag.Title)
if err != nil {
panic(err.Error()) // proper error handling instead of panic in your app
}
log.Printf(tag.Title)
}
(待更新)