美文网首页
GoLang处理Mysql笔记

GoLang处理Mysql笔记

作者: 文沐2023 | 来源:发表于2017-12-28 15:51 被阅读0次

    针对mysql数据库:

    首先go提供了database/sql接口用于注册数据库驱动。

    常使用github.com/go-sql-driver/mysql 数据库驱动进行数据处理。

    首先下载mysql数据库驱动。执行

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

    如果你已经下载完毕,那么你就可以在gopath/pkg包文件目录看到他了。

    那么我们如何使用这个驱动进行数据库的增删改查操作呢?

    so

    package main
    
    import(
       _ "github.com/go-sql-driver/mysql" //导入这个包
       "database/sql"  //而且要导入这个包
       "fmt"
    )
    
    func main(){
       //首先我们打开一个数据库驱动
       db , err := sql.Open("mysql" , "root:@/test?charset=utf8")
       if err != nil{
          panic(err)
       }
    
       //接下来,我们添加一条数据
       qry , err := db.Prepare("INSERT INTO t_user (name,age) VALUES (?,?)")
       if err != nil{
          panic(err)
       }
       res , err := qry.Exec("xin2017","26")
       if err != nil{
          panic(err)
       }
       fmt.Println(res.LastInsertId())
    
       //然后,我们需要查看一下刚才添加的数据
       users , err := db.Query("select id,name,age from t_user")
       if err != nil{
          panic(err)
       }
       for users.Next(){ //遍历一下数据
          var id int
          var name string
          var age int
          users.Scan(&id , &name ,&age)
          fmt.Println(id,name,age)
       }
    
       //再然后,我们修改一下id=1的用户的昵称为‘萌妹子2018’
       qry2 , err := db.Prepare("UPDATE t_user SET name = 'meng2018' where id = ?")
       if err != nil{
          panic(err)
       }
       updaterow , err := qry2.Exec(1)
       if err != nil{
          panic(err)
       }
       affectrow , err:= updaterow.RowsAffected()
       if err != nil{
          panic(err)
       }
       fmt.Println(affectrow)
    
       //最后,我们删除刚才添加的所有的name='xin2017'
       qry3 , err := db.Prepare("DELETE from t_user WHERE name = ?")
       if err != nil{
          panic(err)
       }
       deleterow , err := qry3.Exec("xin2017")
       if err != nil{
          panic(err)
       }
       affectrow2 , err:= deleterow.RowsAffected()
       if err != nil{
          panic(err)
       }
       fmt.Println(affectrow2)
    }
    

    ps : 在此做个学习之后的产出。说不好某个想你的夜晚,我就忍不住打开看了一遍。。。最后默念一个字:赏!!!

    相关文章

      网友评论

          本文标题:GoLang处理Mysql笔记

          本文链接:https://www.haomeiwen.com/subject/jfdvgxtx.html