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

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

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

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

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

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

转自:https://learnku.com/docs/go-database-sql/overview/9474

最后编辑: kuteng  文档更新时间: 2021-11-19 09:18   作者:kuteng