GO—-操作mysql数据库

Go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,常用的有如下几种:

https://github.com/go-sql-driver/mysql 支持database/sql,全部采用go写。
https://github.com/ziutek/mymysql 支持database/sql,也支持自定义的接口,全部采用go写。
https://github.com/Philio/GoMySQL 不支持database/sql,自定义接口,全部采用go写。

接下来的例子我主要以第一个驱动为例

代码如下:

package main

import (
    "strconv"
    "database/sql"
    "fmt"
    _ "github.com/Go-SQL-Driver/MySQL"
)

func main() {

    db, err := sql.Open("mysql", "root:123456@tcp(127.0.0.1:3306)/test?charset=utf8")
    checkErr(err)

    //插入数据
    stmt, err := db.Prepare("INSERT test SET uname=?, upwd=?")
    checkErr(err)

    res, err := stmt.Exec("111", "222")
    checkErr(err)

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

    fmt.Println(id)

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

    res, err = stmt.Exec("gotest_update", id)
    checkErr(err)

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

    fmt.Println(affect)

    //查询数据
    rows, err := db.Query("SELECT uname,upwd FROM test where id="+strconv.FormatInt(id,10))
    checkErr(err)

    fmt.Println("查询数据:")
    for rows.Next() {
        var uname string
        var upwd string
        err = rows.Scan(&uname, &upwd)
        checkErr(err)
        fmt.Println(uname)
        fmt.Println(upwd)
    }

    //删除数据
    stmt, err = db.Prepare("delete from test where id=?")
    checkErr(err)

    res,err = stmt.Exec(id);
    checkErr(err)

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

    fmt.Println(affect)

    db.Close()
    
}

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

The neck line and sleeves can be adjusted as required
snooki weight loss Information When Shopping for Burberry Handbags

Avoid wearing big flowery prints
cartoon pornA Guide to Purchasing the Best Watch Brands
cartoon porn
此条目发表在 网站开发 分类目录,贴了 标签。将固定链接加入收藏夹。

评论功能已关闭。