mysql

b77bb494e846 · · 2130 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

golang连接mysql

安装:

go get -u github.com/go-sql-driver/mysql
  • 构建连接, 格式是:”用户名:密码@tcp(IP:端口)/数据库?charset=utf8”
  • 打开数据库,前者是驱动名,所以要导入:_ “github.com/go-sql-driver/mysql”

初始化

func init(){
    db,err:=sql.Open("mysql","root:1111@tcp(127.0.0.1:3306)/test?charset=utf8")
    if err!=nil{
        fmt.Println("dbiniterr:",err)
    }
}

插入数据 insert

插入前需要提前登录mysql创建表对应的字段。

typeDBworkerstruct{
    Db*sql.DB
}
//插入数据测试
func(dbw*DBWorker)insertData(){
//stmt,_:=dbw.Db.Prepare(`INSERTINTOuser1(name,age)VALUES(?,?)`)

//deferstmt.Close()
stmt,err:=dbw.Db.Prepare("INSERTINTO user1 (`user`,`age`) VALUES (?,?)")
  if err!=nil{
    fmt.Println("Preparefail",err)
    return
}

ret,err:=stmt.Exec(1,23)

if err!=nil{
   fmt.Printf("insertdataerror:%v\n",err)
   return
}

if  LastInsertId,err:=ret.LastInsertId();err==nil{
    fmt.Printf("LastInsertId%d\n",LastInsertId)
}

if RowsAffected,err:=ret.RowsAffected();err==nil{
  fmt.Printf("RowsAffected%d\n",RowsAffected)
  }
}

查询数据测试

func (dbw *DBWorker) queryData()  {
    stmt, _ := dbw.Db.Prepare("SELECT * FROM user WHERE age = ?")

    defer stmt.Close()

    user := userTB{}

   //查询user表中age等于23的数据
    rows, err := stmt.Query(23)

    defer rows.Close()

    if err != nil {
        fmt.Printf("query data error : %v\n", err)
        return;
    }

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:b77bb494e846

查看原文:mysql

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2130 次点击  
加入收藏 微博
1 回复  |  直到 2021-05-15 16:44:31
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传