zoukankan      html  css  js  c++  java
  • Golang-使用mysql

    一、安装mysql-driver驱动

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

    二、安装完毕之后,就可以通过go语言操作mysql了

    const (
    	_selectUser = "select name,age from user where id = ?"
        _updateUser = "update user set name = ? where name = ?"
        _insertUser = "insert user (name,age) values (?,?)"
        _deleteUser = "delete user where id = ?"
    )
    
    func main () {
        var (
        	err error
        )
        // 得到一个db对象
        // Open方法第二个参数:  用户名:密码@协议(ip:端口)/数据库
        db,err := sql.Open("mysql","root:root@tcp(127.0.0.1:3306)/day0731")
        if err != nil {
            fmt.Println(err)
            return
        }
        defer db.Close()
        
        // 这里我们拿到了db这个对象,就可以对day0731这个mysql数据库进行操作了
        // 查询操作
        // Query方法,返回值具体类型自己看
        var (
            name string
            age int
        )
        resultRows,err := db.Query(_selectUser,1)
        // 这里的name,age必须和sql语句顺序一致,也不能多传,也不能少传
        err = resultRows.Scan(&name,&age)  
        if err != nil {
            fmt.Println(err)
            retrun
        }
        fmt.Println(name)
        fmt.Println(age)
        
        // QueryRow方法,查询的效果和上面一致
        err = db.QueryRow(_selectUser,1).Scan(&name,&age)
        if err != nil {
            fmt.Println(err)
            return
        }
        fmt.Println(name)
        fmt.Println(age)
        
        
        // 插入、更新、删除操作
        // Exec方法,执行一段sql语句
        result,err := db.Exec(_updateUser,"朱春雨","朱宇")
        if err != nil {
            fmt.Println(err)
            return
        }
        // result这个对象,他有两个方法,RowsAffected(),LastInsertId(),
        // 分别返回影响的行数,还有就是最后插入的id
        // 我们这里执行的是更新语句,就看这个方法就好了RowsAffected
        rowCount,err := result.RowsAffected()
        if err != nil {
            fmt.Println(err)
            return
        }
        if rowCount == 0 {
            fmt.Println("更新操作失败")
            return
        }
        fmt.Println("更新操作成功!")
        
    }
    

    三、对mysql的增删查改用Query,Exec方法就ok了,具体其他的方法参考go语言的官方文档

  • 相关阅读:
    一篇文章让你搞懂原型和原型链
    数据库命令
    python序列(十)字典
    华为路由器基础知识和命令
    python列表(九)元组
    python初学者-计算小于100的最大素数
    python初学者-计算1-99奇数的和
    python初学者-使用for循环用四位数组成不同的数
    python初学者-使用for循环做一个九九乘法表
    python初学者-使用if条件语句判断成绩等级
  • 原文地址:https://www.cnblogs.com/zhuchunyu/p/11275781.html
Copyright © 2011-2022 走看看