扫码订阅《 》或办理VIP,即可阅读文章!

GOLANG ROADMAP

阅读模式

  • 沉浸
  • 自动
  • 日常
首页
Go视界
Go博文
Go宝典
Go小课
Go面试
Go下载
产品实验区
  • Go小考
  • Go实战
  • Go仓库
  • Go月刊
  • Go返利
更多
  • 会员中心

    • 我的信息
    • 我的考试
  • 关于平台

    • 平台介绍
    • 成长记录
    • 联系站长
  • 支持与服务

    • 会员权益
    • 常见问题
    • 吐槽专区
author-avatar

GOLANG ROADMAP


首页
Go视界
Go博文
Go宝典
Go小课
Go面试
Go下载
产品实验区
  • Go小考
  • Go实战
  • Go仓库
  • Go月刊
  • Go返利
更多
  • 会员中心

    • 我的信息
    • 我的考试
  • 关于平台

    • 平台介绍
    • 成长记录
    • 联系站长
  • 支持与服务

    • 会员权益
    • 常见问题
    • 吐槽专区
  • Go SQL数据库教程

    • 1.概述
    • 2.导入数据库驱动
    • 3.连接数据库
    • 4.获取数据集
    • 5.更新数据和事务
    • 6.使用预处理语句
    • 7.处理错误
    • 8.处理 NULL
    • 9.未知的列
    • 10.sql 连接池
    • 11.注意事项

扫码订阅《 》或办理VIP,即可阅读文章!

1.概述


GOLANG ROADMAP

要在 Go 中访问数据库,可以使用sql.DB。您可以使用此类型去创建语句和事务、执行查询和获取结果。

您应该知道的第一件事是sql.DB不是数据库连接。它也没有映射到任何特定的数据库软件中的「数据库」或「模式」的概念。它是一种存在于数据库中的接口的抽象,它可以像本地文件一样多种多样,可以通过网络连接访问,也可以在内存中和进程中访问。

通常 sql.DB 会在后台为您执行一些重要任务:

  • 它通过驱动程序打开和关闭与实际底层数据库的连接。
  • 它根据需要管理连接池,这可能是前面提到的各种各样的东西。

sql.DB 抽象旨在使您不必担心如何管理对底层数据存储的并发访问。当您使用连接来执行任务时,该连接会被标记为使用中,然后在不再使用时返回到可用池中。这样做的一个后果是,如果您无法将连接释放回池,则可能导致sql.DB 打开大量连接,这可能会耗尽资源(连接太多,打开文件句柄过多,缺少可用的网络端口等)。稍后我们将详细讨论。

创建 sql.DB 后,您可以使用它来查询它所表示的数据库,以及创建语句和事务。