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)
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值