golang连接mysql数据库

1.安装golang的开发环境点击打开链接


2.下载github开源的mysql驱动:

go get github.com/go-sql-driver/mysql
如果无法下载建议连接VPN。


3.mysql的连接,建议查看相关的源码database/sql,了解相关的函数,特别是理解Rows和Row的概念,第一次接触不是很好理解,

了解之后你会发现封装的挺好的。

db, err := sql.Open("mysql", "root:123456@tcp(localhost:3306)/test?charset=utf8")

连接的方式变化不大,mysql为驱动名,root为mysql数据的用户名,123456为密码,tcp(localhost:3306)为数据库的地址,test为数据库名。


4.先来了解一下database/sql.go文件中的Rows struct:

rows, err := db.Query("select id, companyname from baseinfo")  
    defer rows.Close()  
    for rows.Next() {  
        var id int  
        var name string  
        err = rows.Scan(&id, &name)  
        fmt.Printf("rows id = %d, value = %s", id, name)  
    }  

具体demo代码如下:

package main

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

func main() {
	db, err := sql.Open("mysql", "root:123456@tcp(localhost:3306)/test?charset=utf8")
	if err != nil {
		panic(err.Error())
	}
	defer db.Close()

	err = db.Ping()
	if err != nil {
		panic(err.Error())
	}

	rows, err := db.Query("select id, companyname from baseinfo")
	defer rows.Close()
	for rows.Next() {
		var id int
		var name string
		err = rows.Scan(&id, &name)
		fmt.Printf("rows id = %d, value = %s", id, name)
	}
	err = rows.Err()
	if err != nil {
		panic(err.Error())
	}
}








你可能感兴趣的:(golang连接mysql数据库)