go mysql 操作_Go语言MySQL操作

代码:

// demo project main.go

package main

import (

"database/sql"

"fmt"

"time"

_ "github.com/go-sql-driver/mysql"

)

type row_data struct {

id int64

name string

url string

}

func main() {

var db *sql.DB

var err error

var res sql.Result

var rows *sql.Rows

var id int64

var begin, end time.Time

var data row_data

//准备

db, err = sql.Open("mysql", "test:123456@tcp(172.16.2.147:3306)/test?charset=utf8")

if nil != err {

fmt.Println("open fail", err.Error())

}

//连接(测试)

err = db.Ping()

if nil != err {

fmt.Println("connect fail,", err.Error())

}

//插入

begin = time.Now()

res, err = db.Exec("INSERT INTO `web` (`name`,`url`) VALUES ('jues笔记','http://note.jues.org.cn')")

end = time.Now()

if nil != err {

fmt.Println("INSERT fail,", err.Error())

} else {

id, err = res.LastInsertId()

fmt.Println("INSERT success,id=", id, ",time=", end.Sub(begin))

}

//查询

begin = time.Now()

rows, err = db.Query("SELECT * FROM `web`")

if nil != err {

fmt.Println("SELECT fail,", err.Error())

} else {

for rows.Next() {

rows.Scan(&data.id, &data.name, &data.url)

fmt.Println("data=", data)

}

}

end = time.Now()

fmt.Println("SELECT success,time=", end.Sub(begin))

//更新

begin = time.Now()

res, err = db.Exec("UPDATE `web` SET `name`=?,`url`=? WHERE `id`=?", "Go语言MySQL操作", "http://note.jues.org.cn/node/150", id)

end = time.Now()

if nil != err {

fmt.Println("UPDATE fail,", err.Error())

} else {

fmt.Println("UPDATE success,id=", id, ",time=", end.Sub(begin))

}

//删除

begin = time.Now()

res, err = db.Exec("DELETE FROM `web` WHERE `id`=?", id)

end = time.Now()

if nil != err {

fmt.Println("DELETE fail,", err.Error())

} else {

fmt.Println("DELETE success,id=", id, ",time=", end.Sub(begin))

}

}

运行结果:

INSERT success,id= 1 ,time= 14.0008ms

data= {1 jues笔记 http://note.jues.org.cn}

SELECT success,time= 1ms

UPDATE success,id= 1 ,time= 11.0007ms

DELETE success,id= 1 ,time= 14.0008ms

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值