go语言库中心 go语言官方中文文档( 二 )


(2)导入 MySQL 驱动程序github.com/go-sql-driver/mysql 。
导入驱动程序后,您将开始编写代码以访问数据库 。
现在编写一些 Go 代码,让您使用数据库句柄访问数据库 。
您将使用指向结构的指针sql.DB,它表示对特定数据库的访问 。
编写代码
1、进入 main.go,在import您刚刚添加的代码下方,粘贴以下 Go 代码以创建数据库句柄 。
在此代码中:
【go语言库中心 go语言官方中文文档】(3)使用 MySQL 驱动程序Config和FormatDSN类型以收集连接属性并将它们格式化为连接字符串的 DSN 。
该Config结构使代码比连接字符串更容易阅读 。
(4)调用sql.Open 初始化db变量,传递 FormatDSN 。
(5)检查来自 的错误sql.Open 。例如 , 如果您的数据库连接细节格式不正确,它可能会失败 。
为了简化代码,您调用log.Fatal结束执行并将错误打印到控制台 。在生产代码中 , 您会希望以更优雅的方式处理错误 。
(6)调用DB.Ping以确认连接到数据库有效 。在运行时 ,  sql.Open可能不会立即连接 , 具体取决于驱动程序 。您在Ping此处使用以确认 database/sql包可以在需要时连接 。
(7)检查来自Ping的错误,以防连接失败 。
(8)Ping如果连接成功,则打印一条消息 。
文件的顶部现在应该如下所示:
3、保存 main.go 。
1、开始跟踪 MySQL 驱动程序模块作为依赖项 。
使用go get 添加 github.com/go-sql-driver/mysql 模块作为您自己模块的依赖项 。使用点参数表示“获取当前目录中代码的依赖项” 。
2、在命令提示符下,设置Go 程序使用的DBUSER和DBPASS环境变量 。
在 Linux 或 Mac 上:
在 Windows 上:
3、在包含 main.go 的目录中的命令行中 , 通过键入go run来运行代码 。
连接成功了!
接下来,您将查询一些数据 。
go语言里面实现对数据库的操作,用什么包好尽量不要使用ORMgo语言库中心 , 简单go语言库中心的数据库交互是会省很多事 。
但是一旦查询语句越来越复杂go语言库中心 , 关联表越来越多 , 当你发现正在使用的ORM框架做不到时再换其他框架代价会很大 。为什么有那么多框架?就是没有一个框架能解决所有哪怕是大多数问题 。
建议只使用数据库驱动库,database/sql库,可以完成所有go语言与数据库的交互 。
GO语言(三十二):访问关系型数据库(下)在本节中go语言库中心,您将使用 Go 执行 SQL INSERT语句以向数据库添加新行 。
您已经了解了如何使用Query和QueryRow处理返回数据go语言库中心的 SQL 语句 。要执行不返回数据go语言库中心的 SQL 语句go语言库中心,请使用Exec.
1、在albumByID下面go语言库中心,粘贴以下addAlbum函数以在数据库中插入新专辑,然后保存 main.go 。
在此代码中:
(1)用DB.Exec执行INSERT语句 。
Exec接受一条 SQL 语句,后跟 SQL 语句的参数值 。
(2)检查尝试INSERT中的错误 。
(3)使用Result.LastInsertId检索插入的数据库行的 ID。
(4)检查尝试检索 ID 的错误 。
2、更新main以调用新addAlbum函数 。
在main函数末尾添加以下代码 。
在新代码中:
(1)调用addAlbum添加新专辑,将要添加的专辑的 ID 分配给albID变量 。
从包含 main.go 目录的命令行中,运行代码 。
恭喜!您刚刚使用 Go 对关系数据库执行了简单的操作 。
本节包含您使用本教程构建的应用程序的代码 。
Go语言os标准库常用方法Getwd/Getenv/Chdir1. os.Getwd()函数

推荐阅读