go操作mysql数据库增删查改代码

package main

// 导入包
import (
    "database/sql"
    "fmt"
    // mysql驱动包
    _ "github.com/go-sql-driver/mysql"
)

/*
  golang 操作 mysql 数据库
  采用 https://github.com/go-sql-driver/mysql 驱动
  安装方式:go get github.com/go-sql-driver/mysql
*/
sss
func main() {
    // 连接数据库
    db, err := sql.Open("mysql", "root:root@/test?charset=utf8")
    checkErr(err)

    // 插入数据
    stmt, err := db.Prepare("insert userinfo set id=?,name=?")
    checkErr(err)

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

    id, err := res.LastInsertId()
    checkErr(err)
    fmt.Println(id)

    // 更新数据
    stmt, err = db.Prepare("update userinfo set name=? where id=?")
    checkErr(err)

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

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

    // 查询数据
    rows, err := db.Query("select * from userinfo")
    checkErr(err)

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

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

    // 删除数据
    stmt, err = db.Prepare("delete from userinfo where id=?")
    checkErr(err)
    res, err = stmt.Exec(1)
    checkErr(err)
    affect, err = res.RowsAffected()
    checkErr(err)
    fmt.Println(affect)

}

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

你可能感兴趣的:(golang编程)