golang mysql数据库操作

1 篇文章 0 订阅
// 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 资深设计师硬盘

测试完成


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值