No.1 文档概要
在Golang中使用SQL或类似SQL的数据库的惯用方法是通过 database/sql 包操作。它为面向行的数据库提供了轻量级的接口。这篇文章是关于如何使用它,最常见的参考。
为什么需要这个?包文档告诉你每件事情都做了什么,但它并没有告诉你如何使用这个包。我们很多人都希望自己能快速参考和入门的方法,而不是讲故事。欢迎捐款;请在这里发送请求。
在Golang中你用sql.DB访问数据库。你可以使用此类型创建语句和事务,执行查询,并获取结果。下面的代码列出了sql.DB是一个结构体,点击 database/sql/sql.go 查看官方源码。
首先你应该知道一个sql.DB不是一个数据库的连接。它也没有映射到任何特点数据库软件的“数据库”或“模式”的概念。它是数据库的接口和数据库的抽象,它可能与本地文件不同,可以通过网络连接访问,也可以在内存和进程中访问。
sql.DB为你在幕后执行一些重要的任务:
• 通过驱动程序打开和关闭实际的底层数据库的连接。
• 它根据需要管理一个连接池,这可能是如上所述的各种各样的事情。
sql.DB抽象旨在让你不必担心如何管理对基础数据存储的并发访问。一个连接在使用它执行任务时被标记为可用,然后当它不在使用时返回到可用的池中。这样的后果之一是,如果你无法将连接释放到池中,则可能导致db.SQL打开大量连接,可能会耗尽资源(连接太多,打开的文件句柄太多,缺少可用网络端口等)。稍后我们将进一步讨论这个问题。
在创建sql.DB之后,你可以用它来查询它所代表的数据库,以及创建语句和事务。
No.2 导入数据库驱动
要使用 database/sql,你需要 database/sql 自身,以及需要使用的特定的数据库驱动。
有疑问加站长微信联系(非本文作者)