• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

golang操作MySQL数据库 方法1

Mysql 水墨上仙 1976次浏览

先要下载驱动包,放到$GOPATH/src目录里: https://github.com/Go-SQL-Driver/MySQL

数据库:test 表:user 字段:id,name,view

package main

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

var (
	dbhostsip  = "127.0.0.1:3306"
	dbusername = "root"
	dbpassowrd = "root"
	dbname     = "test"
)

type mysql_db struct {
	db *sql.DB
}

func (f *mysql_db) mysql_open() {
	Odb, err := sql.Open("mysql", dbusername+":"+dbpassowrd+"@tcp("+dbhostsip+")/"+dbname)
	if err != nil {
		log.Fatalln(err)
		fmt.Println("链接失败")
		//return nil
	}
	//defer Odb.Close()
	fmt.Println("链接成功")
	f.db = Odb
}

func (f *mysql_db) mysql_close() { //关闭
	defer f.db.Close()
}

func (f *mysql_db) mysql_select(sql_data string) { //select  查询数据
	rows, err := f.db.Query(sql_data)
	if err != nil {
		log.Fatalln(err)
	}
	for rows.Next() {
		var id int
		var name string
		var view string
		err = rows.Scan(&id, &name, &view)
		if err != nil {
			panic(err)
		}
		fmt.Println("file:", name)
	}
}

func (f *mysql_db) mysql_insert() { //insert  添加数据
	stmt, err := f.db.Prepare("INSERT INTO user(name,view) VALUES(?,?)")
	//defer stmt.Close()
	if err != nil {
		log.Println(err)
		return
	}
	stmt.Exec("cc", "dddwwe")
	//http://blog.csdn.net/a32132100/article/details/8949735
	// id, err := res.LastInsertId()
	// if err != nil {
	// 	log.Println(err)
	// 	return
	// }
	// fmt.Println(id)
}

func (f *mysql_db) mysql_update() { //update  修改数据
}

func (f *mysql_db) mysql_delete() { //delete  删除数据
}

func main() {
	db := &mysql_db{}
	db.mysql_open()
	db.mysql_insert()
	db.mysql_select("select * from user")
	db.mysql_close() //关闭

}

附件:源代码下载


喜欢 (0)
加载中……