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()) }}
新闻热点
疑难解答