首页 > 代码库 > go mysql 初窥。查询

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

    

 

go mysql 初窥。查询