分享
  1. 首页
  2. 文章

golang使用go-sql-driver实现mysql增删改操作

rfyiamcool · · 2063 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

这两天用golang 写的服务端做的都是和redis做交互,因为后期还会用mysql的一个表做验证。 先学习下golang对mysql的操作 !

mymysql和go-mysql-driver是两个现在都很流行的go的mysql驱动,看了下文档,后者比较的健全,听大牛们介绍,貌似go-mysql-driver更加的健全。

安装配置还是那么简单,直接go get就可以了

好了,咱们就开始用go-sql-driver增删改查

先用go-sql-driver链接mysql !!!


一看就懂了,帐号:密码@模式 数据库,以及附带的参数

Python
1
2
3
4
user@unix(/path/to/socket)/dbname
root:pw@unix(/tmp/mysql.sock)/myDatabase?loc=Local
user:password@tcp(localhost:5555)/dbname?tls=skip-verify&autocommit=true

完整的例子!

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//xiaorui.cc
#xiaorui.cc
package main
import(
"database/sql"//这包一定要引用,是底层的sql驱动
"fmt"
_"github.com/go-sql-driver/mysql"
"strconv"//这个是为了把int转换为string
)
func main(){//main函数
db,err:=sql.Open("mysql","root:@tcp(localhost:3306)/dbname?charset=utf8")
//数据库连接字符串,别告诉我看不懂。端口一定要写/
iferr!=nil{//连接成功err一定是nil否则就是报错
panic(err.Error())//抛出异常
fmt.Println(err.Error())//仅仅是显示异常
}
defer db.Close()//只有在前面用了panic这时defer才能起作用,如果链接数据的时候出问题,他会往err写数据
rows,err:=db.Query("select id,lvs from xiaorui")
//判断err是否有错误的数据,有err数据就显示panic的数据
iferr!=nil{
panic(err.Error())
fmt.Println(err.Error())
return
}
defer rows.Close()
var idint//定义一个id变量
var lvs string//定义lvs变量
forrows.Next(){//开始循环
rerr:=rows.Scan(&id,&lvs)//数据指针,会把得到的数据,往刚才idlvs引入
ifrerr==nil{
fmt.Println("id号是",strconv.Itoa(id)+" lvs lvs是"+lvs)//输出来而已,看看
}
}
insert_sql:="INSERT INTO xiaorui(lvs) VALUES(?)"
_,e4:=db.Exec(insert_sql,"nima")
fmt.Println(e4)
db.Close()//关闭数据库
}

有疑问加站长微信联系(非本文作者)

本文来自:峰云就她了

感谢作者:rfyiamcool

查看原文:golang使用go-sql-driver实现mysql增删改操作

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
2063 次点击
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏