GoLang处理Mysql笔记
2017-12-28 本文已影响0人
文沐2023
针对mysql数据库:
首先go提供了database/sql接口用于注册数据库驱动。
常使用github.com/go-sql-driver/mysql 数据库驱动进行数据处理。
首先下载mysql数据库驱动。执行
go get github.com/go-sql-driver/mysql
如果你已经下载完毕,那么你就可以在gopath/pkg包文件目录看到他了。
那么我们如何使用这个驱动进行数据库的增删改查操作呢?
so
package main
import(
_ "github.com/go-sql-driver/mysql" //导入这个包
"database/sql" //而且要导入这个包
"fmt"
)
func main(){
//首先我们打开一个数据库驱动
db , err := sql.Open("mysql" , "root:@/test?charset=utf8")
if err != nil{
panic(err)
}
//接下来,我们添加一条数据
qry , err := db.Prepare("INSERT INTO t_user (name,age) VALUES (?,?)")
if err != nil{
panic(err)
}
res , err := qry.Exec("xin2017","26")
if err != nil{
panic(err)
}
fmt.Println(res.LastInsertId())
//然后,我们需要查看一下刚才添加的数据
users , err := db.Query("select id,name,age from t_user")
if err != nil{
panic(err)
}
for users.Next(){ //遍历一下数据
var id int
var name string
var age int
users.Scan(&id , &name ,&age)
fmt.Println(id,name,age)
}
//再然后,我们修改一下id=1的用户的昵称为‘萌妹子2018’
qry2 , err := db.Prepare("UPDATE t_user SET name = 'meng2018' where id = ?")
if err != nil{
panic(err)
}
updaterow , err := qry2.Exec(1)
if err != nil{
panic(err)
}
affectrow , err:= updaterow.RowsAffected()
if err != nil{
panic(err)
}
fmt.Println(affectrow)
//最后,我们删除刚才添加的所有的name='xin2017'
qry3 , err := db.Prepare("DELETE from t_user WHERE name = ?")
if err != nil{
panic(err)
}
deleterow , err := qry3.Exec("xin2017")
if err != nil{
panic(err)
}
affectrow2 , err:= deleterow.RowsAffected()
if err != nil{
panic(err)
}
fmt.Println(affectrow2)
}
ps : 在此做个学习之后的产出。说不好某个想你的夜晚,我就忍不住打开看了一遍。。。最后默念一个字:赏!!!