// MysqlTest
package main
import (
"database/sql"
"fmt"
"strconv"
"time"
_ "github.com/go-sql-driver/mysql"
)
var (
dbhost string = "127.0.0.1:3306"
dbuser string = "root"
dbpass string = "root"
dbname string = "BaiduPanHttp"
)
func main() {
//初始化
db, err := sql.Open("mysql", dbuser+":"+dbpass+"@tcp("+dbhost+")/"+dbname+"?charset=utf8")
defer db.Close()
fmt.Println("测试Mysql操作")
//查询一条
stmt, err := db.Prepare("select id,uk,uname from pan_panuser where id = ?")
if err != nil {
fmt.Println(err)
}
row := stmt.QueryRow(5)
var uname string
var id int
var uk int
err = row.Scan(&id, &uk, &uname)
fmt.Print(strconv.Itoa(id) + " ")
fmt.Print(strconv.Itoa(uk) + " ")
fmt.Println(uname)
//更新
stmt, err = db.Prepare("update pan_panuser set lastupdate = ? where id = ?")
res, err := stmt.Exec(time.Now().Unix(), 5)
if err != nil {
fmt.Println(err)
}
num, err := res.RowsAffected()
if err != nil {
fmt.Println(err)
}
fmt.Println("Update Record Number:", num)
//删除
stmt, err = db.Prepare("delete from pan_panuser where id = ?")
res, err = stmt.Exec(6)
if err != nil {
fmt.Println(err)
}
num, err = res.RowsAffected()
if err != nil {
fmt.Println(err)
}
fmt.Println("Delete Record Number:", num)
//多条记录
rows, err := db.Query("select uk,uname from pan_panuser limit 5")
for rows.Next() {
rows.Scan(&uk, &uname)
fmt.Print(strconv.Itoa(uk) + " ")
fmt.Println(uname)
}
defer rows.Close()
fmt.Println("测试完成")
}
输出:
测试Mysql操作
5 4080815635 资深设计师硬盘
Update Record Number: 1
Delete Record Number: 0
1882054243 turecola
4065528916 leo_savannah13
3155743310 老衲来阅经m
4080815635 资深设计师硬盘
测试完成