golang连接mysql数据库

来源:互联网 发布:js substring 编辑:程序博客网 时间:2024/05/20 22:04

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 intvar name stringerr = rows.Scan(&id, &name)fmt.Printf("rows id = %d, value = %s", id, name)}err = rows.Err()if err != nil {panic(err.Error())}}








0 0
原创粉丝点击