最近在做注册登录服务时,学习用Go语言操作MySQL数据库实现用户数据的增删改查,现将个人学习心得总结如下,另外附有代码仓库地址,欢迎各位有兴趣的fork。
软件环境:Goland、Navicat for MySQL。
一、实现思路
1,我的总体设计思路是先写出连接数据库和关闭数据库的逻辑,再建立四个分支,根据用户的选择分别进入增删改查的操作;
12345 | func DBstart() { db,_= sql.Open( "mysql" , "root:123456@tcp(127.0.0.1:3306)/dbtest?charset=utf8" ) //dbtest为我新建立的数据库名 fmt.Println( "mysql start succcessed !" ) } |
12345 | func DBclose(){ //关闭数据库 db.Close() fmt.Println( "database closed" ) } |
2,增加的操作
输入对应的数据
1234567891011121314151617181920 | 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,查询的操作
1234567891011 | 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,更新的操作
根据提示输入要更新的内容,然后转到对应的更新语句
123456789101112131415 | 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,删除的操作
123456789101112 | 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数据中的一致,不然可能会造成如下错误
三、参考资料
出处:http://www.cnblogs.com/OctoptusLian/
點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫(xiě)下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦