beego框架图文简介五分钟讲解03-go语言简单方式操作MySQL数据库

|版权声明:本文为博主原创文章,未经博主允许不得转载。博客地址:https://blog.csdn.net/sgsgy5

2.8Go操作MySQL数据库(简单方法)

  • 安装go操作MySQL的驱动

    go get -u -v github.com/go-sql-driver/mysql
    
  • go简单操作MySQL数据库

    • 导包

      import "github.com/go-sql-driver/mysql"
      
    • 连接数据库,用sql.Open()方法,open()方法的第一个参数是驱动名称,第二个参数是用户名:密码@tcp(ip:port)/数据库名称?编码方式,返回值是连接对象和错误信息,例如:

      conn,err := sql.Open("mysql","root:123456@tcp(127.0.0.1:3306)/test?charset=utf8")
      defer conn.Close()//随手关闭数据库是个好习惯
      
    • 执行数据库操作,这一步分为两种情况,一种是增删改,一种是查询,因为增删改不返回数据,只返回执行结果,查询要返回数据,所以这两块的操作函数不一样。

      创建表

      创建表的方法也是Exec(),参数是SQL语句,返回值是结果集和错误信息:

      res ,err:= conn.Exec("create table user(name VARCHAR(40),pwd VARCHAR(40))")
      beego.Info("create table result=",res,err)
      

      增删改操作

      执行增删改操作语句的是Exec(),参数是SQL语句,返回值是结果集和错误信息,通过对结果集的判断,得到执行结果的信息。以插入数据为例代码如下:

      res,_:=conn.Exec("insert into user(name,pwd) values (?,?)","tony","tony")
      count,_:=res.RowsAffected()
      this.Ctx.WriteString(strconv.Itoa(int(count)))  
      

      查询操作

      用的函数是Query(),参数是SQL语句,返回值是查询结果集和错误信息,然后循环结果集取出其中的数据。代码如下:

      data ,err :=conn.Query("SELECT name from user")
      	var userName string
      	if err == nil{
      		for data.Next(){
      			data.Scan(&userName)
      			beego.Info(userName)
      		}
      	}
      

      全部代码

      //连接数据库
      conn,err := sql.Open("mysql","root:123456@tcp(127.0.0.1:3306)/test?charset=utf8")
      	if err != nil{
      		beego.Info("链接失败")
      	}
      	defer conn.Close()
      //建表
      	res ,err:= conn.Exec("create table user(userName VARCHAR(40),passwd VARCHAR(40))")
      	beego.Info("create table result=",res,err)
      //插入数据
          res,err =conn.Exec("insert user(userName,passwd) values(?,?)","itcast","heima")
      	beego.Info(res,err)
      //查询数据
      	data ,err :=conn.Query("SELECT userName from user")
      	var userName string
      	if err == nil{
      		for data.Next(){
      			data.Scan(&userName)
      			beego.Error(userName)
      		}
      	}
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值