设为首页 加入收藏

TOP

go语言操作mysql范例(增删查改)(一)
2017-09-30 13:44:48 】 浏览:4391
Tags:语言 操作 mysql 范例 增删 查改

http://blog.csdn.net/jesseyoung/article/details/40398321

 go语言连接mysql简介
    go官方仅提供了database package,database package下有两个包sql,sql/driver。这两个包用来定义操作数据库的接口,这就保证了无论使用哪种数据库,他们的操作方式都是相同的。
    但go官方并没有提供连接数据库的driver,如果要操作数据库,还需要第三方的driver 包,最常用的有:
    https://github.com/Go-SQL-Driver/MySQL支持database/sql,全部采用go写。
    https://github.com/ziutek/mymysql 支持database/sql,也支持自定义的接口,全部采用go写。
    推荐使用前者,因为前者的效率更高一点,二者效率的对比可参考benchmark测试结果:https://github.com/go-sql-driver/sql-benchmark

    go连接其他主流数据库的驱动介绍可参考:

    https://code.google.com/p/go-wiki/wiki/SQLDrivers

2 测试环境准备
    操作系统:Red Hat Enterprise Linux Server release 6.4 
    mysql版本:mysql-5.5.28
    安装git客户端(方便从github上获取mysql驱动)

[plain]  view plain copy
  1. [root@localhost /]# yum install git  

    获取mysql驱动

[plain]  view plain copy
  1. [root@localhost /]# go get github.com/go-sql-driver/mysql  
  2. [root@localhost /]# ls  
  3. pkg  src   

    在当前目录下可以看到多出两个文件夹pkg和src,将src文件夹拷贝到go程序安装目录下或go工作环境下即可

[plain]  view plain copy
  1. [root@localhost /]# cp -r src /usr/local/go/  

3 编程实例

[plain]  view plain copy
  1. package main  
  2.   
  3. import (  
  4.         "database/sql"  
  5.         "fmt"  
  6.         _ "github.com/go-sql-driver/mysql"  
  7.         "reflect"  
  8. )  
  9.   
  10. func main() {  
  11.         /*DSN数据源名称  
  12.           [username[:password]@][protocol[(address)]]/dbname[?param1=value1¶mN=valueN]  
  13.           user@unix(/path/to/socket)/dbname  
  14.           user:password@tcp(localhost:5555)/dbname?charset=utf8&autocommit=true  
  15.           user:password@tcp([de:ad:be:ef::ca:fe]:80)/dbname?charset=utf8mb4,utf8  
  16.           user:password@/dbname  
  17.           无数据库: user:password@/  
  18.         */  
  19.         db, err := sql.Open("mysql", "jesse:jesse@tcp(127.0.0.1:3306)/?charset=utf8") //第一个参数为驱动名    
  20.         checkErr(err) &
首页 上一页 1 2 3 4 5 下一页 尾页 1/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Google Go Programming In Eclipse 下一篇Go学习笔记之基础数据类型

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目