200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > go语言mysql操作_使用Go语言操作MySQL数据库的思路与步骤

go语言mysql操作_使用Go语言操作MySQL数据库的思路与步骤

时间:2020-08-18 05:40:13

相关推荐

go语言mysql操作_使用Go语言操作MySQL数据库的思路与步骤

最近在做注册登录服务时,学习用Go语言操作MySQL数据库实现用户数据的增删改查,现将个人学习心得总结如下,另外附有代码仓库地址,欢迎各位有兴趣的fork。

软件环境:Goland、Navicat for MySQL。

一、实现思路

1,我的总体设计思路是先写出连接数据库和关闭数据库的逻辑,再建立四个分支,根据用户的选择分别进入增删改查的操作;

func DBstart() {

db,_= sql.Open("mysql", "root:123456@tcp(127.0.0.1:3306)/dbtest?charset=utf8") //dbtest为我新建立的数据库名

fmt.Println("mysql start succcessed !")

}

func DBclose(){

//关闭数据库

db.Close()

fmt.Println("database closed")

}

2,增加的操作

输入对应的数据

fmt.Println("请输入用户ID:")

fmt.Scan(&Userid)

fmt.Println("请输入名字:")

fmt.Scan(&Username)

fmt.Println("请输入部门:")

fmt.Scan(&Departname)

fmt.Println("请输入进部门时间")

fmt.Scan(&Created)

//插入数据

stmt,err := db.Prepare("INSERT userif SET userid=?,username=?,departname=?,created=?")

CheckErr(err)

res,err := stmt.Exec(Userid,Username,Departname,Created)

CheckErr(err)

id,err := res.LastInsertId()

fmt.Println(id)

3,查询的操作

rows,err := db.Query("SELECT * FROM userif")

CheckErr(err)

for rows.Next(){

err = rows.Scan(&Id,&Userid,&Created,&Departname,&Username)

CheckErr(err)

fmt.Println(Userid)

fmt.Println(Username)

fmt.Println(Departname)

fmt.Println(Created)

}

4,更新的操作

根据提示输入要更新的内容,然后转到对应的更新语句

fmt.Println("请输入要查询的用户ID:")

fmt.Scan(&Userid)

fmt.Println("请输入要更新的内容:a-名字;b-部门;c-进部门的时间:")

var s string

fmt.Scan(&s)

switch s {

case "a":

fmt.Println("请输入要更改用户ID为%d的名字",Userid)

fmt.Scan(&Username)

fmt.Println(Username)

fmt.Println(Userid)

stmt,err := db.Prepare("UPDATE userif SET username=? where userid=?")

CheckErr(err)

......//以此类推

}

5,删除的操作

fmt.Println("请输入要删除的用户ID:")

fmt.Scan(&Userid)

stmt,err := db.Prepare("DELETE from userif where userid=?")

CheckErr(err)

res,err := stmt.Exec(Userid)

CheckErr(err)

affect,err := res.RowsAffected()

CheckErr(err)

fmt.Println(affect)

二、注意点

1,在查找操作中注意输入与输出对应的列名是否与MySQL数据中的一致,不然可能会造成如下错误

三、参考资料

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。