go mysql 初窥。查询

首先要安装Go-SQL-Driver/MySql,下载安装前要保证你的GOPATH对应的是你的项目目录

export GOPATH=/var/www/gogogo/test

然后下载安装

go install github.com/Go-SQL-Driver/MySQL

 go get github.com/Go-SQL-Driver/MySQL

main.go中

  import 中加上 _"github.com/Go-SQL-Driver/MySQL" 和 "database/sql"

  然后是链接数据库,msyql

  db, err := sql.Open("mysql","用户名:密码@/数据库?charset=utf8")

先来查询

  我的数据库中有三个字段(id,name,pwd)

  所以我定义了一个结构体类型

  type User struct{  

    Id string

    Name string

    Pwd string

  }

  定义一个结构体(定义?声明?有点分不清,反正就这么回事,)

  var u User

  stmtOut, err := db.Prepare("select * from user where id=?")  //注册一条sql语句

  注意了啊 !注意了啊!我在这里卡了很久啊~~草泥马

  err = stmtOut.QueryRow(5).Scan(&u.Id,&u.Name,&u.Pwd)

  首先 第一个5 是我传到sql里面的值 ,占位?这个的。

  然后我sql 中用的* 也就是说我查出来的这条数据是有“3个字段” 

  

  这个意思就是 应该是三个,你丫的咋写了两个。傻逼啊~

  我本来结构体定义的只有两个属性的,后面用的时候也是录入两个属性的。但是查出来的数据是有三个属性,我就在结构体中加了个Id然后再Scan()中加了个id

  这样就OK了

  然后就是得到的这个err了

  没有数据时就是nil

  有数据是这U这个定义的结构体中能看到了

  最后附上代码截图

  

    

晚安~~gogogo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值