入门第 17 / 20 节45 分钟 · 实操
使用 database/sql 的数据库
Go 课程的一部分
到目前为止你写的每个程序,一退出就把什么都忘光了。对于一个把输入变换一下就收工的小工具来说这没问题,但凡涉及用户、订单、会话或历史记录,它就毫无用处。Go 程序迟早要把数据放到一个比它自己活得更久的地方,而对多数程序来说,那个地方就是关系型数据库。
Go 处理这件事的路子有点特别,值得在动手写之前先弄明白。标准库里有一个叫 database/sql 的包,它对 PostgreSQL、MySQL 或 SQLite 一无所知。它定义的是这场对话的形状:你怎么打开一个连接,怎么发送一条语句,怎么把行读回来。关于某个具体数据库的知识,住在另一个叫驱动的包里。
想在真实环境里学习 Go 使用 database/sql 的数据库 吗?
点击下方,立即获得一台预装 Go 的 Linux 主机,跟懂你代码的 AI 导师一起完成 使用 database/sql 的数据库 的实操练习。
开始这节课使用 database/sql 的数据库你将学到什么
- Database/sql package
- Driver imports
- Sql.Open and sql.DB pool
- Exec vs Query vs QueryRow
- Prepared statements
- Scanning rows
- Transactions
