前言

作为优秀的语言如果不支持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

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

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐