加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang的mysql操作

发布时间:2020-12-16 18:17:47 所属栏目:大数据 来源:网络整理
导读: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" , "
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)
        }
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读