设为首页 加入收藏

TOP

Golang-使用mysql
2019-08-04 00:06:23 】 浏览:92
Tags: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语言的官方文档

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Golang 读写文件 下一篇go 语言学习笔记

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目