要使用 database/sql,您需要这个包本身,以及要使用的特定数据库的驱动程序。

通常情况下,您最好不要直接使用驱动包,尽管有些驱动提供者鼓励你这么做(在我们看来,这通常是个坏主意)。尽可能的引用 database/sql 包里定义的类型,这样做最大的好处是能够让你的代码与具体的驱动实现松耦合(或者完全解耦),这样直接更换底层驱动就可以切换不同数据库而不用担心驱动之间的差异,或者只需要很少的代码改动。其次,这样有助于你的代码更具有 Go 推荐的风格而不是某个驱动作者的代码风格。

在本文档中,我们将使用@julienschmidt@arnehormann 提供的非常出色的 MySQL 驱动程序 作为示例。

将以下代码添加到您的 Go 源文件顶部:

import (
    "database/sql"
    _ "github.com/go-sql-driver/mysql"
)

注意,我们使用_匿名加载 MySQL 驱动包。除了 init 函数执行外,go 将注册 MySQL 驱动以使其能够被 database/sql 包直接访问。

请注意,我们以匿名方式加载驱动程序,将其包限定符别名设置为 _,因此它导出的名称对我们的代码都不可见。在底层,驱动程序将自身注册为对 database/sql 包可用,但一般而言,除了运行 init 函数外,不会发生任何其他事情。

打开终端执行以下命令:

$ go get -u github.com/go-sql-driver/mysql

现在你可以开始访问数据库了。

转自:https://learnku.com/docs/go-database-sql/importing/9475

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