go操作mysql数据库,实现增删改查

package main

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

//数据库:qhy_test
//表:birthday_table

func main() {
	db, err := sql.Open("mysql", "root:qinhy123456@tcp(127.0.0.1:3306)/qhy_test?charset=utf8")
	if err != nil {
		log.Fatal(err)
	}
	//Insert(db, "guo", "m", "1987-04-03", "chong_qin")
	//Delete(db, "guo")
	Update(db,"yami", "chong_qin")
	Query(db)
}

//删除数据
func Delete(db *sql.DB, name string) {
	stmt, err := db.Prepare("delete from birthday_table where name=?")
	if err != nil {
		log.Fatal(err)
	}
	defer stmt.Close()
	_, err = stmt.Exec(name)
	if err != nil {
		log.Fatal(err)
	}
}

//更新数据
func Update(db *sql.DB, name string, update_add string) {
	stmt, err := db.Prepare("update birthday_table set birthaddr=? where name=?")
	if err != nil {
		log.Fatal(err)
	}
	defer stmt.Close()
	_, err = stmt.Exec(update_add, name)
	if err != nil {
		log.Fatal(err)
	}
}

//插入数据
func Insert(db *sql.DB, data ...interface{}) {
	stmt, err := db.Prepare("insert birthday_table set name=?, sex=?, birthday=?, birthaddr=?")
	if err != nil {
		log.Fatal(err)
	}
	defer stmt.Close()
	_, err = stmt.Exec(data...)
	if err != nil {
		log.Fatal(err)
	}
}

//数据查询
func Query(db *sql.DB) {
	rows, err := db.Query("select *from birthday_table")
	if err != nil {
		log.Fatal(err)
	}
	defer rows.Close()

	for rows.Next() {
		var name string
		var sex string
		var birthday string
		var add string
		err = rows.Scan(&name, &sex, &birthday, &add)
		if err != nil {
			log.Fatal(err)
		}
		fmt.Println(name, sex, birthday, add)
	}
}

go使用mysql数据库,首先需要安装mysql;然后安装go mysql数据库驱动,执行go命令进行安装

go get -u github.com/go-sql-driver/mysql

猜你喜欢

转载自blog.csdn.net/jujueduoluo/article/details/79933719