返回介绍

概览

发布于 2024-08-15 13:01:57 字数 3041 浏览 0 评论 0 收藏 0

Go 中, 使用 sql.DB 来访问数据库. 既可以用它来创建语句和事务也能执行查询和检索结果

关于 sql.DB, 你需要知道的第一件事是它不是一个数据库连接. 它也没有映射到任何数据库软件的 databaseschema 概念. 它代表抽象的接口和数据库的存在, 它可以像本地文件一样通过网络访问, 或在内存和进程中

sql.DB 为你在幕后执行一些重要的任务:

  • 它通过驱动程序打开和关闭与实际底层数据库的连接

  • 它按需管理一个连接池, 可能是前面提到的各种事物

sql.DB 抽象旨在使你不用担心如何管理对数据库的并发访问. 当你使用连接来执行任务时, 它会被标记为正在使用, 不再使用时, 则会被返回到可用连接池中. 这样做的一个结果是如果你没能将连接释放回池中, 可能导致 sql.DB 打开大量的连接, 进而耗尽资源(过多的连接, 过多的文件句柄, 缺乏可用的网络端口等等), 我们稍后会详细讨论这个问题

创建 sql.DB 后, 你能使用它来查询它所代表的数据库, 也可以用它创建语句和事务

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文