关闭

go语言连接mysql数据库的个人理解

标签: 数据库mysqlgo语言golang测试
176人阅读 评论(0) 收藏 举报
分类:

相信简单的使用golang语言,大家都会,可是很多时候,我们都离不开与数据库的交互,今天就介绍一下go语言,如何连接mysql
在没有连接上数据库之前,总是会碰到这样那样的报错,经过反复的思考和总结,今天就来说一下go语言连接mysql的一些坑吧
准备工作:
1.首先配置好go环境,即可以运行go语言
先测试一下go是否安装成功,如图用 cmd 输入go 按enter!
这里写图片描述
出现此类帮助信息,则代表go安装成功!
1.2 接下来配置环境变量
如何设置环境变量,在上一节,已经提到过了,这次说一下重点,
1.2.1 GOROOT 环境变量
这里写图片描述
这里配置的目录是go安装的目录
1.2.2 GOPATH
这里写图片描述
这里配置的目录是工作目录,也就是你要运行的程序的目录
就强调这两点
1.3在工作目录下添加三个子文件夹
这里写图片描述
其中src代表存放的是要运行的文件如:hello.go
hello.go的内容

package main
import "fmt"
func main(){
fmt.Printf("Hello 百度回享")
}

打开cmd控制器然后输入go run hello.go
这里写图片描述
注意一点只有你打开的目录是你的工作目录时才可以直接写hello.go若不是工作目录,这里就得写你自己的工作目录,如:go run F:/go/test/src/hello.go
若运行结果,如上图则go语言配置成功,接下来连接mysql
2.1 连接mysql之前先要下载mysql驱动
可以用cmd下载:如 :go get github.com/go-sql-driver/MYSQL
如果下载不到,就可以自己输入网址去下载,然后将它拷贝到src的文件夹下面
接下里的内容很关键,记住因为你下载的是这个目录:github.com/go-sql-driver/MYSQL,所以你如果使用cmd是话就会自动创建,而如果是自己考培的话就要加上目录,或者直接建一个mysql文件夹,将拷贝来的数据放到其下面,
2.2 接下来就要验证是否成功连接数据库
创建一个main.go,代码如下

package main
import(
    "database/sql"
    _"github.com/Go-SQL-Driver/MySQL"//就是你下载的文件地址,如果是自己拷贝的,那么就写自己创建的路径
    "log"
    //"reflect"    //获取变量类型用
)
// user中的数据根据自己要查询的表的数据做响应的改变,
type User struct{
    id int
    username string
    password string
    create_time string
    create_user string
    role_id int
    nick_name string
    remak string
}

 func main (){
 // db-user mysql账号
 // db-psw mysql密码
 // db-datebase 需要连接的数据库名称
    db,err := sql.Open("mysql","db-user:db-psw@tcp(localhost:3306)/db-database?charset=utf8")
    if err != nil{
            panic(err.Error())
            log.Println(err)
            return
    }
    defer db.Close()  //只有在前面用了 panic[抛出异常] 这时defer才能起作用,如果链接数据的时候出问题,他会往err写数据。defer:延迟,这里立刻申请了一个关闭sql 链接的草错,defer 后的方法,或延迟执行。在函数抛出异常一会被执行
    var user User
    select_sql := "select * from yttz_users  "
    select_err := db.QueryRow(select_sql).Scan(&user.id,&user.username,&user.password,&user.create_time,&user.create_user,&user.role_id,&user.nick_name,&user.remak)//查询一条,返回一条结果。并赋值到user这个结构体类型的变量中,就算查询到的是多条,单返回的还是一条,注意这里出现的数据,在user中必须存在否则会报错
    if select_err != nil {//如果没有查询到任何数据就进入if中err:no rows in result set
            log.Println(select_err)
            return
    }
    log.Println(user)
}

若出现你查询后的数据说明数据库连接成功,便会出现如下效果
这里写图片描述

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

golang sql连接池的实现解析

golang的”database/sql”是操作数据库时常用的包,这个包定义了一些sql操作的接口,具体的实现还需要不同数据库的实现,mysql比较优秀的一个驱动是:github.com/go-sql...
  • qp2624
  • qp2624
  • 2017-01-09 18:26
  • 5433

Go操作mysql实现增删改查及连接池

golang本身没有提供连接mysql的驱动,但是定义了标准接口供第三方开发驱动。这里连接mysql可以使用第三方库,第三方库推荐使用https://github.com/Go-SQL-Driver/...
  • kenkao
  • kenkao
  • 2015-08-22 11:06
  • 28249

go语言操作mysql范例(增删查改)

1 go语言连接mysql简介 go官方仅提供了database package,database package下有两个包sql,sql/driver。这两个包用来定义操作数据库的接口,这就保证了...
  • JesseYoung
  • JesseYoung
  • 2014-10-23 15:27
  • 12469

Go语言中使用MySql数据库

Go语言中使用MySql数据库 1、MySQL驱动 Go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,常用的有如下几种: ...
  • weiyuefei
  • weiyuefei
  • 2017-12-22 17:13
  • 76

go语言访问mysql数据库

Go-MySQL-Driver:一个Go语言的轻量级极速的mysql驱动 原文来自:http://hao.jobbole.com/go-mysql-driver/ Go...
  • newsyoung1
  • newsyoung1
  • 2014-09-18 11:51
  • 1301

windows 安装Go 环境 搭建Mysql数据库连接

在linux 上做go 环境搭建 已经可以了。并且 连接上了 mysql 数据库。   但是 开发 还是 在windows 上面的比较多。所以要研究下 windows 下如何弄 。   需要使...
  • freewebsys
  • freewebsys
  • 2013-03-04 15:54
  • 1664

使用GO连接MYSQL数据库

GO没有内置的数据库驱动,但是GO定义了数据库驱动包接口database/sql/driver,用户可以基于驱动接口开发相应的数据库驱动。 这样做的好处是,以后迁移数据库时,只需要导入对应的数据库驱...
  • wo198711203217
  • wo198711203217
  • 2017-03-02 15:15
  • 296

R语言连接oracle/mysql数据库示例脚本

  • 2017-05-25 15:11
  • 2.13MB
  • 下载

java语言操作pageoffice自带印章连接mysql数据库

  • 2015-06-01 09:40
  • 438KB
  • 下载

c语言连接mysql数据库

  • 2015-04-09 19:00
  • 1.61MB
  • 下载
    个人资料
    • 访问:24539次
    • 积分:505
    • 等级:
    • 排名:千里之外
    • 原创:25篇
    • 转载:1篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论