Golang学习笔记-MySql的安装使用

安装

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)
	}
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值