Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 8511|回复: 0
打印 上一主题 下一主题

GO操作Mysql数据库

[复制链接]

338

主题

341

帖子

1735

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1735
跳转到指定楼层
楼主
发表于 2018-4-8 22:40:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、使用github.com/go-sql-driver/mysql和github.com/jmoiron/sqlx这个驱动包和工具类,打开cmd窗口输入:go get github.com/go-sql-driver/mysql和go get github.com/jmoiron/sqlx,会下载到你的GOPATH路径的src 下

2、导入驱动包
import (    "database/sql"    _ "github.com/go-sql-driver/mysql")
3、链接数据库
db, err := sql.Open("mysql",        "user:password@tcp(127.0.0.1:3306)/hello")  

  if err != nil {   
     log.Fatal(err)  
  }  
  defer db.Close()

4、插入数据
r, err := Db.Exec("insert into person(username,sex,email)values(?,?,?)", "stu004", "man", "stu001@qq.com")
if err != nil {
  fmt.Println("exec1 failed,", err)
  return
}
id, err := r.LastInsertId()//返回插入数据ID
if err != nil {
  fmt.Println("exec2 failed,", err)
  return
}
fmt.Println("insert succ:", id)

5、查询数据
var person []Person
err := Db.Select(&person, "select * from person")
if err != nil {
  fmt.Println("exec_select failed,", err)
  return
}
fmt.Println("select succ:", person)

6、更新数据
_, err := Db.Exec("update person set username=? where user_id=?", "stu011", 1)
if err != nil {
  fmt.Println("exec_update failed,", err)
  return
}
fmt.Println("更新成功")

7、删除数据
_, err := Db.Exec("delete from person where user_id=?", 10)
if err != nil {
  fmt.Println("exec_delete failed,", err)
  return
}
fmt.Println("删除成功")



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|飞克网 ( 皖ICP备16023507号 )

GMT+8, 2024-11-1 08:30 , Processed in 0.117101 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表