一、安装mysql-driver驱动

go get github.com/go-sql-driver/mysql

二、安装完毕之后,就可以通过go语言操作mysql了

const (
_selectUser = "select name,age from user where id = ?"
_updateUser = "update user set name = ? where name = ?"
_insertUser = "insert user (name,age) values (?,?)"
_deleteUser = "delete user where id = ?"
) func main () {
var (
err error
)
// 得到一个db对象
// Open方法第二个参数: 用户名:密码@协议(ip:端口)/数据库
db,err := sql.Open("mysql","root:root@tcp(127.0.0.1:3306)/day0731")
if err != nil {
fmt.Println(err)
return
}
defer db.Close() // 这里我们拿到了db这个对象,就可以对day0731这个mysql数据库进行操作了
// 查询操作
// Query方法,返回值具体类型自己看
var (
name string
age int
)
resultRows,err := db.Query(_selectUser,1)
// 这里的name,age必须和sql语句顺序一致,也不能多传,也不能少传
err = resultRows.Scan(&name,&age)
if err != nil {
fmt.Println(err)
retrun
}
fmt.Println(name)
fmt.Println(age) // QueryRow方法,查询的效果和上面一致
err = db.QueryRow(_selectUser,1).Scan(&name,&age)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(name)
fmt.Println(age) // 插入、更新、删除操作
// Exec方法,执行一段sql语句
result,err := db.Exec(_updateUser,"朱春雨","朱宇")
if err != nil {
fmt.Println(err)
return
}
// result这个对象,他有两个方法,RowsAffected(),LastInsertId(),
// 分别返回影响的行数,还有就是最后插入的id
// 我们这里执行的是更新语句,就看这个方法就好了RowsAffected
rowCount,err := result.RowsAffected()
if err != nil {
fmt.Println(err)
return
}
if rowCount == 0 {
fmt.Println("更新操作失败")
return
}
fmt.Println("更新操作成功!") }

三、对mysql的增删查改用Query,Exec方法就ok了,具体其他的方法参考go语言的官方文档

最新文章

  1. DXUT源码阅读笔记
  2. phpcmsv9多表联合查询分页功能实现
  3. linux使用flock文件锁解决crontab冲突问题
  4. c 标签
  5. DevExpress ASP.NET 使用经验谈(2)-XPO对象的使用(使用默认数据连接)
  6. js管理内存
  7. 《JavaScript DOM 编程艺术 》 笔记
  8. Asp.Net 常用工具类之加密——对称加密DES算法(2)
  9. Spring boot 整合mybatis
  10. Android studio 常见错误修改
  11. zabbix监控mysql最简单的方法
  12. 洛谷 P2542 [AHOI2005]航线规划 解题报告
  13. 关于 as 播放器的记录
  14. Linux下识别所有Android设备的方法
  15. Nginx服务器抵御CC攻击的相关配置讲解
  16. 函数嵌套>作用域>闭包函数
  17. web图形方案比较html5、GML、SVG、VML
  18. OC与JS交互之JavaScriptCore
  19. grunt-contrib-qunit安装过程中phantomjs安装报错问题解决
  20. bit & byte & B & KB & Kbps & KBps & ps

热门文章

  1. 发布jar包到远端github仓库使用(将github仓库当作maven仓库)
  2. UE4的联网系统研究
  3. cBioPortal 数据库
  4. quick player运行分析
  5. 数据接口-免费版(股票数据API)
  6. Learning to Track Any Object
  7. 转载【MySQL】MySQL5.X常用日志配置及5.7和5.6主从复制的区别
  8. JVM线程状态Running、Sleeping、Wait、Park、Monitor
  9. FreeSWITCH视频直播
  10. sys/cdefs.h No such file or directory