GoLang操作Mysql

来源:互联网 发布:数据库设计方面的书籍 编辑:程序博客网 时间:2024/06/06 02:07

1:首先现在GoLang的Mysql驱动:

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

        关于驱动的具体使用方法,可以去 github.com/go-sql-driver/mysql里面查看

        运行上述命令后,会在$GOPATH的src下生成一个github.com目录

2:连接MySql

    db, err := sql.Open("mysql", "xxadmin:admin@tcp(122.20.208.115:3306)/xx")
    if err != nil {
        panic(err.Error()) // proper error handling instead of panic in your app
    }
    err = db.Ping()
    if err != nil {
        fmt.Println(err)
    }
    defer db.Close()
3:查询数据
    stmtOut, err := db.Prepare("SELECT * from paile_fy WHERE item_id like ?")
    //    if err != nil {
    //        fmt.Println(err)
    //    }
    //    defer stmtOut.Close()
    rows, err := stmtOut.Query("99%")
    columns, err := rows.Columns()
    fmt.Println("len", len(columns))
    values := make([]sql.RawBytes, len(columns))
    scanArgs := make([]interface{}, len(values))
    for i := range values {
        scanArgs[i] = &values[i]
    }
    if err != nil {
        fmt.Println(err)
    }
    for rows.Next() {
        err = rows.Scan(scanArgs...)
        if err != nil {
        }
        var value string
        for i, col := range values {
            if col == nil {
                value = "NULL"
            } else {
                value = string(col)
            }
            fmt.Println(columns[i], ": ", value)
        }
        fmt.Println("-----------------------------------")
    }

0 0
原创粉丝点击