golang的mysql操作

前端之家收集整理的这篇文章主要介绍了golang的mysql操作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
package main

import (
    "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)
        }
    }
}

猜你在找的Go相关文章