• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Go开发 之 Go如何读取Mysql数据

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1、简介

Go语言是个很方便的具有动态写法的静态语言,读取mysql是go语言中必不可少的操作,它怎么实现呢?
请听我一一道来

2、下载包,并创建包路径

首先github中下载mysql的包,地址:https://github.com/go-sql-driver/mysql
下载好包后,在Go的GOPATH路径的src文件夹中依次建立如github多级路径中的名字。

例如:
mysql这个包在github中是在github.com下的go-sql-driver下的mysql里面
那么我们就在我们机器的GOPATH路径的src文件夹下依次创建github.com,go-sql-driver,mysql
并把下载的go的源码包放入到最后一级目录下面。

我是在windows上开发的这个示例,这里是我截的图:

3、引用包

创建go文件

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

直接引入头文件即可,有细心的同学已经看的“database/sql”这个包了,这个包是go的标准库里面的包。
在go的文档中有记载,可以在这个网址 https://studygolang.com/pkgdoc 中看

4、举例说明

这里我做了一个小示例,读取指定表的指定字段中的数据。

package main

/**
Author:ShaZhenYu
Date:20180926
*/

import (
	"database/sql"
	"fmt"

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

const (
	mysql_user   = "root"
	mysql_passwd = "Qnzs123"
	mysql_ip     = "127.0.0.1"
	mysql_port   = "3306"
	mysql_robot  = "robot"
	mysql_qyDB   = "qy10000000051"
)

func main() {
	//此示例传入一个参数,返回两个参数
	var qID = "L400000006"
	//读取mysql指定表的指定字段内容
	tmpAnswer, tmpCodeName := funReadSql(qID)
	//读取mysql成功
	fmt.Printf("读取mysql成功!!!\ncodeName:%s, answer:%s\n", tmpCodeName, tmpAnswer)
}

func funReadSql(quitionID string) (string, string) {
	//打开数据库
	db, errOpen := sql.Open("mysql", mysql_user+":"+mysql_passwd+"@tcp("+mysql_ip+":"+mysql_port+")/"+mysql_qyDB+"?charset=utf8")
	if errOpen != nil {
		//TODO,这里只是打印了一下,并没有做异常处理
		fmt.Println("funReadSql Open is error")
	}

	//读取t_knowledge_tree表中codeName和answer字段
	var codeName, answer string
	errTables := db.QueryRow("SELECT standerdAsk,answer FROM t_knowledge_tree WHERE codeId=?", quitionID).Scan(&codeName, &answer)
	if errTables != nil {
		//TODO,这里只是打印了一下,并没有做异常处理
		fmt.Println("funReadSql SELECT t_knowledge_tree is error", errTables)
	}
	fmt.Printf("funReadSql codeName:%s, answer:%s\n", codeName, answer)

	//关闭数据库
	db.Close()
	return answer, codeName
}

效果图:


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
go定时器--Ticker发布时间:2022-07-10
下一篇:
Go sync.Pool 浅析发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap