golang的mysql操作

来源:互联网 发布:鱼眼校正算法 opencv 编辑:程序博客网 时间:2024/06/05 14:46
package mainimport (    "database/sql"    "fmt"    _ "github.com/go-sql-driver/mysql")func CheckError(err error) {    if err != nil {        panic(err.Error())    }}func main() {    //实现mysql的增删改查    fmt.Println("start")    con, err := sql.Open("mysql", "root:123456@/test?charset=utf8")    CheckError(err)    defer con.Close()    err = con.Ping()    CheckError(err)    //插入或者更新    sql1 := "insert into country(name,user_age)values(?,?);"    smt, err := con.Prepare(sql1)    CheckError(err)    defer smt.Close()    _, err = smt.Exec("tom", 29)    CheckError(err)    sql1 = "update  country set name=? where id=1"    smt, err = con.Prepare(sql1)    CheckError(err)    _, err = smt.Exec("tim")    CheckError(err)    //获取数据    select_sql := "select * from country limit 10"    rows, err := con.Query(select_sql)    CheckError(err)    columns, err := rows.Columns()    fmt.Println(columns, len(columns))    values := make([]sql.RawBytes, len(columns))    scanArg := make([]interface{}, len(columns))    for i := range values {        scanArg[i] = &values[i]    }    for rows.Next() {        err = rows.Scan(scanArg...)        CheckError(err)        var value string        for i, col := range values {            if col == nil {                value = "NULL"            } else {                value = string(col)            }            fmt.Println(columns[i], "=", value)        }    }}
0 0
原创粉丝点击