GO语言(三十):访问关系型数据库(上)本教程介绍了使用 Godatabase/sql及其标准库中的包访问关系数据库的基础知识 。
您将使用的database/sql包包括用于连接数据库、执行事务、取消正在进行的操作等的类型和函数 。
在本教程中 , 您将创建一个数据库,然后编写代码来访问该数据库 。您的示例项目将是有关老式爵士乐唱片的数据存储库 。
首先 , 为您要编写的代码创建一个文件夹 。
1、打开命令提示符并切换到您的主目录 。
在 Linux 或 Mac 上:
在 Windows 上:
2、在命令提示符下,为您的代码创建一个名为 data-access 的目录 。
3、创建一个模块,您可以在其中管理将在本教程中添加的依赖项 。
运行go mod init命令,为其提供新代码的模块路径 。
此命令创建一个 go.mod 文件 , 您添加的依赖项将在其中列出以供跟踪 。
注意:在实际开发中,您会指定一个更符合您自己需求的模块路径 。有关更多信息,请参阅一下文章 。
GO语言(二十五):管理依赖项(上)
GO语言(二十六):管理依赖项(中)
GO语言(二十七):管理依赖项(下)
接下来,您将创建一个数据库 。
在此步骤中,您将创建要使用的数据库 。您将使用 DBMS 本身的 CLI 创建数据库和表,以及添加数据 。
您将创建一个数据库 , 其中包含有关黑胶唱片上的老式爵士乐录音的数据 。
【go语言链接数据库 go连接mysql数据库】这里的代码使用MySQL CLI , 但大多数 DBMS 都有自己的 CLI , 具有类似的功能 。
1、打开一个新的命令提示符 。
在命令行 , 登录到您的 DBMS , 如下面的 MySQL 示例所示 。
2、在mysql命令提示符下,创建一个数据库 。
3、切到您刚刚创建的数据库,以便您可以添加表 。
4、在文本编辑器的 data-access 文件夹中,创建一个名为 create-tables.sql 的文件来保存用于添加表的 SQL 脚本 。
将以下 SQL 代码粘贴到文件中,然后保存文件 。
在此 SQL 代码中:
(1)删除名为album表 。首先执行此命令可以让您更轻松地稍后重新运行脚本 。
(2)创建一个album包含四列的表:title、artist和price 。每行的id值由 DBMS 自动创建 。
(3)添加带有值的四行 。
5、在mysql命令提示符下,运行您刚刚创建的脚本 。
您将使用以下形式的source命令:
6、在 DBMS 命令提示符处,使用SELECT语句来验证您是否已成功创建包含数据的表 。
接下来,您将编写一些 Go 代码进行连接,以便进行查询 。
现在你已经有了一个包含一些数据的数据库,开始你的 Go 代码 。
找到并导入一个数据库驱动程序,该驱动程序会将您通过database/sql包中的函数发出的请求转换为数据库可以理解的请求 。
1、在您的浏览器中,访问SQLDrivers wiki 页面以识别您可以使用的驱动程序 。
2、使用页面上的列表来识别您将使用的驱动程序 。为了在本教程中访问 MySQL , 您将使用 Go-MySQL-Driver 。
3、请注意驱动程序的包名称 - 此处为github.com/go-sql-driver/mysql.
4、使用您的文本编辑器 , 创建一个用于编写 Go 代码的文件,并将该文件作为 main.go 保存在您之前创建的数据访问目录中 。
5、进入main.go , 粘贴以下代码导入驱动包 。
在此代码中:
(1)将您的代码添加到main包中,以便您可以独立执行它 。
(2)导入 MySQL 驱动程序github.com/go-sql-driver/mysql 。
导入驱动程序后,您将开始编写代码以访问数据库 。
现在编写一些 Go 代码,让您使用数据库句柄访问数据库 。
您将使用指向结构的指针sql.DB,它表示对特定数据库的访问 。
编写代码
1、进入 main.go , 在import您刚刚添加的代码下方,粘贴以下 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语言(三十二):访问关系型数据库(下)在本节中,您将使用 Go 执行 SQL INSERT语句以向数据库添加新行 。
您已经了解了如何使用Query和QueryRow处理返回数据的 SQL 语句 。要执行不返回数据的 SQL 语句 , 请使用Exec.
1、在albumByID下面,粘贴以下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语言如何连接sql server数据库高级!能用上go语言了吗?不会是Android Studio吧?!
如果是Apk是连不上SQL的,访问WebService,手机做SQL服务一般用WEB,不用WAP,手机可以直接访问WEB,无论什么编写的,如果是特殊需要,那就用WebService去返回查询结果
go语言怎么连接oracle数据库//假设go语言链接数据库的GOPATH指向C:\gohome
0. 执行 go get github.com/wendal/go-oci8 ,然后肯定是报错了,没关系,代码会下载下来.
1. 首先,go语言链接数据库你需要安装mingw到C:\mingw
2. 然后,到Oracle官网,下载OCI及其SDK,解压到instantclient_11_2-- 当前最新版
3. 从go语言链接数据库我的go-oci8库的windows文件夹,拷贝pkg-config.exe到C:\mingw\bin\,拷贝oci8.pc到C:\mingw\lib\pkg-config\
4. 设置环境变量 PATH,值为原有PATH;C:\instantclient_11_2;C:\mingw\bin;
5. 设置环境变量 PKG_CONFIG_PATH,值为C:\mingw\lib\pkg-config
6. 接下来,就最重要的,就是再执行一次,这次应该能成功的:go get github.com/wendal/go-oci8
7. 测试一下:
cd %GOPATH%/src/github.com/wendal/go-oci8/example
go run oracle.go
#提醒一句, oracle.go里面的写的密码是system/123456, 实例名XE
go语言怎么和mysql数据库进行链接task copyFileToProject1(type: Copy) {
from('build/intermediates/bundles/debug/')
into("$rootProject.projectDir/demousingsdk/libs/")
include('classes.jar')
rename('classes.jar', 'xiaoi_sdk.jar')
}
go语言链接数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于go连接mysql数据库、go语言链接数据库的信息别忘了在本站进行查找喔 。
推荐阅读
- erp系统原理与应用答案,erp原理与应用0005
- css偏移是什么,css右移
- 恋爱决战攻略游戏,恋爱决胜战krkr攻略
- 飞行游戏苹果简笔画,游戏飞行图怎么画?
- php两个数据库对比数据 php和数据库连接
- 关于postgre数据删除缓慢的信息
- 格斗游戏幸福死的招,格斗游戏福利招式
- 歌手网红合唱现场直播,网红歌唱组合有哪些
- java代码双向循环 java双重循环