zoukankan      html  css  js  c++  java
  • 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

        

  • 相关阅读:
    帮朋友写的两篇文章
    与疯姐的对话
    实现C(i,j)=A(m,n,w)+B(m,n)
    误差处理相关
    http://blog.sina.com.cn/s/blog_4aae007d0100inxi.html
    全局变量和局部变量
    Yeelink:将复杂的传感器以极简的方式组到同一个网络内
    基站分布:GDOP
    C++学习路线图
    Matlab中三点确定质心
  • 原文地址:https://www.cnblogs.com/jackylee92/p/6175677.html
Copyright © 2011-2022 走看看