大家好呀!今天咱们来聊聊Go语言怎么和MySQL数据库“牵手成功”。别说,这俩搭配起来还真是绝配——Go语言的高并发遇上MySQL的稳定性,简直就是程序员界的“神仙眷侣”。
第一章:准备工作——打扮打扮再去见MySQL
1.1 安装MySQL驱动
首先,咱们得给Go语言准备一个“翻译官”,让它能听懂MySQL的“语言”。这个翻译官就是go-sql-driver/mysql。
怎么请到这个翻译官呢?打开你的终端,输入以下魔法命令:
go get -u github.com/go-sql-driver/mysql
这个命令会从GitHub上把这个驱动下载并安装到你的Go环境中。
1.2 导入必要的包
接下来,在我们的Go代码中,需要邀请两位重要嘉宾:
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
注意这里有个小细节:我们在导入MySQL驱动时前面加了一个下划线_。这可不是手滑打错了,而是Go语言的一个特殊语法,意思是**“我只想执行这个包的init函数,而不直接使用包里的其他函数”**。
为什么呢?因为database/sql包需要通过这种方式来注册MySQL驱动,但我们的代码不会直接调用驱动里的函数。
第二章:建立连接——和MySQL的第一次握手
2.1 连接数据库
现在,我们要用一串“秘密咒语”来连接MySQL数据库:
func main() {
db, err := sql.Open("mysql", "username:password@tcp(127.0.0.1:3306)/dbname")
if err != nil {
panic(err.Error())
}
defer db.Close()
}
这串连接字符串"username:password@tcp(127.0.0.1:3306)/dbname"就像是MySQL的“家庭地址”:
username:你的MySQL用户名password:对应的密码127.0.0.1:3306:MySQL服务器的地址和端口dbname:你要连接的数据库名称
2.2 检查连接是否成功
sql.Open()函数并不会立即连接数据库,它只是验证参数是否合法。要真正检查连接是否成功,我们需要使用Ping()方法:
err = db.Ping()
if err != nil {
log.Fatal("数据库连接失败,错误信息:", err)
} else {
fmt.Println("数据库连接成功!")
}
为什么要有这一步?想象一下,你给朋友打电话,拨号成功不代表对方接听了,对吧?Ping()就相当于对方接起电话说“喂”,确认真正联系上了。
第三章:基础操作——和MySQL的日常聊天
3.1 查询数据
查询数据就像问MySQL问题,然后它给你答案:
rows, err := db.Query("SELECT id, name FROM users WHERE age = ?", 30)
if err != nil {
log.Fatal(err)
}
defer rows

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



