在Go语言中,查询MySQL数据库的一个常用库是database/sql
标准库
首先,确保你已经安装了MySQL驱动:
go get -u github.com/go-sql-driver/mysql
示例代码 main.go
package main import ( "database/sql" "fmt" "log" _ "github.com/go-sql-driver/mysql" ) func main() { // DSN (Data Source Name) 格式为:[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN] dsn := "agent:agent@tcp(localhost:3306)/callcenter_db?parseTime=true&charset=utf8" // 打开数据库连接 db, err := sql.Open("mysql", dsn) if err != nil { log.Fatal(err) } defer db.Close() // 测试数据库连接是否成功 err = db.Ping() if err != nil { log.Fatal(err) } fmt.Println("Connected to MySQL database!") // 执行查询 rows, err := db.Query("SELECT en_name, first_name FROM user") if err != nil { log.Fatal(err) } defer rows.Close() // 遍历查询结果 for rows.Next() { var id sql.NullInt64 var name string if err := rows.Scan(&id, &name); err != nil { log.Fatal(err) } // 如果ID是NULL,则赋值为0 if id.Valid == false { //Vailid 为false ,说明表中的值为NULL id.Int64 = 0 } fmt.Printf("ID: %d, Name: %s\n", id, name) } // 检查遍历过程中是否有错误发生 if err = rows.Err(); err != nil { log.Fatal(err) } }
连接字符串
dsn := "agent:agent@tcp(localhost:3306)/callcenter_db?parseTime=true&charset=utf8"
用户名 agent 密码 agent
注意 用户名 和 密码 之间 ,有个 : 符号
localhost 是IP 地址
3306 是mysql 端口号
callcenter_db 是数据库名称
标签:log,err,数据库,sql,db,agent,MySQL,Go From: https://www.cnblogs.com/hailexuexi/p/18624509