window下GO语言安装mysql驱动

1.提早条件mysql

  • 安装好go语言 
  • 配置好GOROOT  和 GOPATH

2.打开cmd命令行执行安装命令git

go get github.com/Go-SQL-Driver/MySQL

3.查看是否安装成功github

查看GOPATH下面是否有src目录和pkg目录,且里面有找到MySQL,说明安装成功sql

4.程序测试数据库

package main

// 导入包
import (
	"database/sql"
	"fmt"

	_ "github.com/go-sql-driver/mysql"
)

// mysql基本连接信息
var (
	// 数据库 host
	host = "127.0.0.1"
	// 数据库用户名
	username = "xxx"
	// 数据库密码
	password = "xxx"
	// 数据库名
	name = "xxx"
)

func main() {
	// 连接数据库
	db, err := sql.Open("mysql", username+":"+password+"@tcp("+host+")/"+name+"?charset=utf8")
	if err != nil {
		panic(err)
	}

	// 查询
	rows, err := db.Query("select id,gender,username from users order by id asc")
	if err != nil {
		panic(err)
	}

	for rows.Next() {
		var id int
		var gender int
		var username string
		err = rows.Scan(&id, &gender, &username)
		if err != nil {
			panic(err)
		}
		fmt.Println(id, gender, username)
	}

    // 更新操做
	updateStmt, err := db.Prepare("update users set gender=1 where id in (?,?)")
	if err == nil {
		res, err := updateStmt.Exec(2, 3)
		if err == nil {
			fmt.Println(res.RowsAffected()) // 返回受影响的行数 2
		}
	}

	// 添加操做
	insertStmt, err := db.Prepare("insert into regions (`id`,`parent_id`,`code`,`name`) values (?,?,?,?)")
	if err == nil {
		res, err := insertStmt.Exec(3514, 0, 830000, "南极")
		if err == nil {
			fmt.Println(res.LastInsertId()) // 返回插入成功最后的id 3514
		}
	}

	// 删除操做
	deleteStmt, err := db.Prepare("delete from regions where id = ?")
	if err == nil {
		res, err := deleteStmt.Exec(3514)
		if err == nil {
			fmt.Println(res.RowsAffected()) // 返回受影响的行数  1
		}
	}
    
	rows.Close()
	db.Close()
}
相关文章
相关标签/搜索