当前位置: 首页 > news >正文

go语言 与MySQL数据库详解

导入 github.com/go-sql-driver/mysql

查询 插入 跟新 删除

package main

import (
    "database/sql"
    "fmt"

    _ "github.com/go-sql-driver/mysql"
)

func main() {
//连接数据库
    db, err := sql.Open("mysql", "root:wangshubo@/test?charset=utf8")
    checkErr(err)

//插入操作
    // insert
    stmt, err := db.Prepare("INSERT user_info SET id=?,name=?")
    checkErr(err)

    res, err := stmt.Exec(1, "wangshubo")
    checkErr(err)
    
//更新操作
    // update
    stmt, err = db.Prepare("update user_info set name=? where id=?")
    checkErr(err)

    res, err = stmt.Exec("wangshubo_update", 1)
    checkErr(err)

    affect, err := res.RowsAffected()
    checkErr(err)

    fmt.Println(affect)

//查询操作
    // query
    rows, err := db.Query("SELECT * FROM user_info")
    checkErr(err)

    for rows.Next() {
        var uid int
        var username string

        err = rows.Scan(&uid, &username)
        checkErr(err)
        fmt.Println(uid)
        fmt.Println(username)
    }


//删除操作
    // delete
    stmt, err = db.Prepare("delete from user_info where id=?")
    checkErr(err)

    res, err = stmt.Exec(1)
    checkErr(err)

    // query
    rows, err = db.Query("SELECT * FROM user_info")
    checkErr(err)

    for rows.Next() {
        var uid int
        var username string

        err = rows.Scan(&uid, &username)
        checkErr(err)
        fmt.Println(uid)
        fmt.Println(username)
    }

    db.Close()

}

func checkErr(err error) {
    if err != nil {
        panic(err)
    }
}

相关文章:

  • go语言关于切片常见陷阱
  • go语言中高并发读写锁详解
  • go语言中反射机理详解
  • go语言高并发channel详解
  • go语言高并发系统详解
  • go语言核心总结终极版
  • go语言核心总结便携版
  • 以太坊开发实战详解:geth客户端安装教程
  • 以太坊智能合约solidity去中心化投票系统
  • 区块链加密算法深入剖析
  • 深入理解区块链UTXO篇
  • 区块链超级账本Hyperledger Fabric深入剖析详解
  • goland快捷键大全
  • 高并发利器
  • docker容器详解