Golang语言操作mysql数据

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

前言

作为优秀的语言如果不支持mysql那么,这个语言就会没有很大的市场了,下面一起来学习一下golang操作mysql吧

1.首先需要安装数据库驱动  ---> go get github.com/go-sql-driver/mysql
2.到这里你可能会遇到无法下载这个包那么你需要科普一下这两个知识点了
GOROOT -----> 这个是要放安装go语言运行的软件的根目录
GOPATH  ------>这个是存放下载的src的目录
否则就会报错无法下载包各种错误
到此你完成了软件的安装工作开始写sql吧
_"github.com/go-sql-driver/mysql"  // 注意前面的下划线_, 
"database/sql"
引入上面两个扩展包就可以开始愉快的操作了
1.连接数据库
db,err := sql.Open("mysql","root:root@tcp(127.0.0.1:3306)/fls_db?charset=utf8mb4")
//数据库类型,登录用户名,密码,host/数据库名
这里连接的方法根据官方的文档返回两个值,一个是成功的资源db,一个是错误连接的判断标志
//判断是否成功连接
if err != nil {
        fmt.Println("连接数据库失败:"+err.Error())
        return
    }
这里是我刚开始不太懂的,可以这样理解,如果nil是空标识,如果是空证明连接成功,不空证明有错误信息返回
实现增删该查的操作
1.查询多条
//返回行结果的指针和错误信息
rows,err = db.Query("select * from t_puluosi_dep limit 10;")
rows,err = db.Query("select * from t_puluosi_dep where id=?;",id)
//输出查询的结果
for rows.Next() {
        var id string
        var te string
        if err := rows.Scan(&id,&te); err != nil{
            fmt.Println("错误了")
        }
        fmt.Printf("id:%s ,time:is %s\n", id, te)
    }
//rows.Next()会自动移到下一行结果去,而rows.Scan会把每一次的值通过 引用传递给变量
2.删除数据
res,err := db.Exec("DELETE FROM USER WHERE uid=?",i)
//这里的res接收的值为空,只要判断err有没有值就可以知道这条数据有没有成功
3.更新数据
res,err := db.Exec("update USER set name=?,age=?WHERE uid=?",1name,age,id)
4.插入数据
res,err := db.Exec("insert into USER(name,age) values(?,?)","test",34)
5.其余命令
result.RowsAffected()  //返回受影响的行数
result.LastInsertId() //返回插入的id

以上是实现简单的增删改查的操作命令


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

本文来自:简书

感谢作者:江江简书

查看原文:Golang语言操作mysql数据

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

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