mysql - golang

一、CRUD

package main

import (
	"database/sql"
	"fmt"
	_ "github.com/go-sql-driver/mysql"
)

func main() {
	db, err := sql.Open("mysql", "root:mysql3306@tcp(localhost:3306)/test")
	db.Ping()
	if err != nil {
		fmt.Println("连接失败")
		return
	}
	defer func() {
		if db != nil {
			db.Close()
		}
	}()
	// insert
	pre, err := db.Prepare("insert into user_info values(default,?,?)")
	if err != nil {
		fmt.Println("预处理失败")
		return
	}
	defer func() {
		if pre != nil {
			pre.Close()
		}
	}()

	exec, err := pre.Exec("米夏", "hlolih12")
	if err != nil {
		fmt.Println("插入失败")
		return
	}
	id, _ := exec.LastInsertId()
	fmt.Println(id)
	//count, err := exec.RowsAffected()
	//if err != nil {
	//	fmt.Println("执行插入失败")
	//	return
	//}
	//if count > 0 {
	//	fmt.Println("插入成功")
	//} else {
	//	fmt.Println("失败")
	//}

	// //update
	//pre, _ := db.Prepare("update user_info set password=? where id=?")
	//defer func() {
	//	if pre!=nil{
	//		pre.Close()
	//	}
	//}()
	//
	//exec, _ := pre.Exec("shaxiazi123", 9)
	//row, _ := exec.RowsAffected()
	//if row>0{
	//	fmt.Println("update success")
	//}else{
	//	fmt.Println("update fail")
	//}
	
	//delete
	pre, _ := db.Prepare("delete from user_info where id=?")
	defer func() {
		if pre!=nil{
			pre.Close()
		}
	}()
	exec, _ := pre.Exec(8)
	rowsAffected, _ := exec.RowsAffected()
	if rowsAffected>0{
		fmt.Println("delete success")
	}else{
		fmt.Println("delete fail")
	}
}

	//query
	pre, _ := db.Prepare("select * from user_info where id=?")
	defer func() {
		if pre!=nil{
			pre.Close()
		}
	}()
	//var username,password string
	query, _ := pre.Query(9)

	for query.Next(){
		var id int
		var username,password string
		query.Scan(&id,&username, &password)
		fmt.Println(id,username,password)
	}
	defer func() {
		if query!=nil{
			query.Close()
		}
	}()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值