Golang 操作Mysql个人总结

Golang 操作Mysql总结

前言:

此文写在刚起步学习Golang,目前刚看到Go/mysql 这一块,初步使用后,发现了一些小坑,记录一下,以免日后再次在这一块踩坑了。学习文章参考于Go语言学习之路|李文周的博客,这一篇博客写的非常好,十分适合初步学习Go或者刚转型Go的朋友进行学习。

本地环境

本地计算机环境的GOPATH为 E:\GoProjects,可以在Goland的setting中设置项目的GOPATH
在这里插入图片描述
而本项目的GOPATH为 E:\GoProjects\filestore-server
在这里插入图片描述
在项目目录下建立bin、pkg、src三个文件夹,然后源码放于src中。 要注意设置好GOPATH,不然下载驱动的时候,会找不着驱动的。

1、下载驱动

Go语言中的database/sql包提供了保证SQL或类SQL数据库的泛用接口,并不提供具体的数据库驱动。使用database/sql包时必须注入(至少)一个数据库驱动。

我们常用的数据库基本上都有完整的第三方实现。例如:MySQL驱动

E:\GoProjects\filestore-server> go get -u github.com/go-sql-driver/mysql

注:使用go get 要注意本地环境变量中设置的GOPATH的位置。go get下来的文件会下载到GOPATH位置中的pkg文件夹和src文件夹。

.

2、建立数据库连接对象

sql.Open打开一个dirverName指定的数据库,dataSourceName指定数据源,一般至少包括数据库文件名和其它连接必要的信息。

func Open(driverName, dataSourceName string) (*DB, error)

Open函数可能只是验证其参数格式是否正确,实际上并不创建与数据库的连接。如果要检查数据源的名称是否真实有效,应该调用Ping方法。

返回的DB对象可以安全地被多个goroutine并发使用,并且维护其自己的空闲连接池。因此,Open函数应该仅被调用一次,很少需要关闭这个DB对象。

package mysql

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

var db *sql.DB // 定义全局对象db

func init() {
   
	db,err = sql.Open("mysql","root:123456@tcp(127.0.0.1:3306)/fileserver?charset=utf8")
	//sql.Open("mysql","(账号):(密码)@tcp(mysql地址和端口)/(数据库名称)?charset=utf8")
	if err != 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值