前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Go语言操作MySQL数据库的思路与步骤

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

作者头像
Zoctopus
发布2018-08-28 16:03:32
8330
发布2018-08-28 16:03:32
举报

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

软件环境:Goland、Navicat for MySQL。

一、实现思路

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

代码语言:javascript
复制
func DBstart() {
	db,_= sql.Open("mysql", "root:123456@tcp(127.0.0.1:3306)/dbtest?charset=utf8") //dbtest为我新建立的数据库名

	fmt.Println("mysql start succcessed !")
}
代码语言:javascript
复制
func DBclose(){
	//关闭数据库
	db.Close()
	fmt.Println("database closed")
}

2,增加的操作

输入对应的数据

代码语言:javascript
复制
	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,查询的操作

代码语言:javascript
复制
	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,更新的操作

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

代码语言:javascript
复制
	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,删除的操作

代码语言:javascript
复制
	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数据中的一致,不然可能会造成如下错误

三、参考资料

go-sql-driver

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-08-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、实现思路
    • 1,我的总体设计思路是先写出连接数据库和关闭数据库的逻辑,再建立四个分支,根据用户的选择分别进入增删改查的操作;
      • 2,增加的操作
        • 3,查询的操作
          • 4,更新的操作
            • 5,删除的操作
            • 二、注意点
            • 三、参考资料
            相关产品与服务
            云数据库 MySQL
            腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档