安装
https://www.runoob.com/w3cnote/windows10-mysql-installer.html
我安装的是:
custom(手动):手动选择系统上应安装的产品
因为不想安装太多其他的工具插件,只是想简单的使用MySql数据库
安装好之后,设置环境变量,然后就可以开始使用
这是一个坑
在vscode 执行
go get -u github.com/go-sql-driver/mysql
报错:
..\github.com\go-sql-driver\mysql-master\driver.go:88:33: undefined: driver.Connector
..\github.com\go-sql-driver\mysql-master\driver.go:99:49: undefined: driver.Connector
弄了好久以为是我的mysql的问题,最后发现是github上的最新版本的代码有问题
然后使用旧版本的驱动,地址如下:手动下载解压放到
…\github.com\go-sql-driver\,问题解决
https://github.com/go-sql-driver/mysql/releases/tag/v1.4.0
准备
#建库
create database db_v1
#切换数据库
use de_v1
#建表
create table table_v1(
id int(4),
name char(20)
);
代码实现
package main
import (
"database/sql"
"fmt"
// 安装方式: go get -u github.com/go-sql-driver/mysql
_ "github.com/go-sql-driver/mysql-1.4.0"
)
func main() {
db, err := sql.Open("mysql", "root:123456@/db_v1?charset=utf8")
checkErr(err)
// insert
stmt, err := db.Prepare("INSERT table_v1 SET id=?,name=?")
checkErr(err)
res, err := stmt.Exec(1, "wangshubo")
checkErr(err)
// update
stmt, err = db.Prepare("update table_v1 set name=? where id=?")
checkErr(err)
res, err = stmt.Exec("wangshubo_update", 1)
checkErr(err)
affect, err := res.RowsAffected()
checkErr(err)
fmt.Println(affect)
// query
rows, err := db.Query("SELECT * FROM table_v1")
checkErr(err)
for rows.Next() {
var uid int
var username string
err = rows.Scan(&uid, &username)
checkErr(err)
fmt.Println(uid)
fmt.Println(username)
}
// delete
stmt, err = db.Prepare("delete from table_v1 where id=?")
checkErr(err)
res, err = stmt.Exec(1)
checkErr(err)
// query
rows, err = db.Query("SELECT * FROM table_v1")
checkErr(err)
for rows.Next() {
var uid int
var username string
err = rows.Scan(&uid, &username)
checkErr(err)
fmt.Println(uid)
fmt.Println(username)
}
db.Close()
}
func checkErr(err error) {
if err != nil {
panic(err)
}
}