Go语言,查询MySQL数据库
在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 是数据库名称
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)