要在 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