欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-20 19:55:04
最近在做注册登录服务时,学习用Go语言操作MySQL数据库实现用户数据的增删改查,现将个人学习心得总结如下,另外附有代码仓库地址,欢迎各位有兴趣的fork。 软件环境:Goland、Navicat for MySQL。 一、实现思路 1,我的总体设计思路是先写出连接数据库和关闭数据库的逻辑,再建立四 ......

最近在做注册登录服务时,学习用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数据中的一致,不然可能会造成如下错误

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

 

 

三、参考资料