首页 > 学院 > 开发设计 > 正文

golang连接mysql数据库

2019-11-06 06:23:47
字体:
来源:转载
供稿:网友

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 mainimport _ "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())	}}


上一篇:什么叫句柄(Handle)?

下一篇:Debug

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表