该教程通过使用go-sql-driver/mysql
驱动程序将Golang Projects连接到MySQL数据库。我们将介绍驱动程序安装,数据库连接和基本数据库操作,并提供实际示例。
先决条件:确保安装和运行MySQL。通过在您的终端中执行mysql --version
来验证这一点。输出应显示您的MySQL版本。
安装GO MySQL驱动程序:
使用以下方式安装必要的驱动程序:
go get -u github.com/go-sql-driver/mysql
尽管存在其他驾驶员,但这是一个受欢迎且维护良好的选择。有关详细信息,请参阅其GitHub页面。
项目设置:
创建您的Golang项目目录。如果在您的GO安装目录中不起作用,请使用这些命令来初始化GO模块:
go mod init test-sql
go mod tidy
这会生成go.mod
and go.sum
文件,对于管理依赖项至关重要。
连接到mysql:
创建一个main.go
文件并添加以下代码:
包装主 进口 ( “数据库/SQL” “ FMT” _“ github.com/go-sql-driver/mysql” ) func main(){ db,err:= sql.open(“ mysql”,“ root:<your_mysql_password> @TCP(127.0.0.1:3306)/test”) 如果err!= nil { 恐慌(err.Error()) } defer db.close() fmt.println(“成功连接到mysql!”) }</your_mysql_password>
记住要替换<your_mysql_password></your_mysql_password>
使用您的实际MySQL数据库密码。我们建议使用密码管理器进行安全存储。
使用代码编辑器(例如Coderunner)编写并运行此代码。保存后,导航到终端中的项目目录并运行:
go run main.go
一个“成功连接到mysql!”消息确认了成功的连接。
创建一个MySQL数据库:
对于本教程,我们将使用诸如TablePlus之类的数据库管理工具来创建数据库(例如“ 123Begin”)和表(例如“ TestTable2”)。将以下示例调整为您的特定数据库和表名称。
数据库操作:
插入数据:
此代码将数据插入表格:
包装主 进口 ( “数据库/SQL” “ FMT” _“ github.com/go-sql-driver/mysql” ) func main(){ db,err:= sql.open(“ mysql”,“ root:<your_mysql_password> @tcp(127.0.0.1:3306)/123Begin”) 如果err!= nil { 恐慌(err.Error()) } defer db.close() 插入,err:= db.query(“插入testtable2 values('23')”) 如果err!= nil { 恐慌(err.Error()) } defer insert.close() fmt.println(“数据成功插入!”) }</your_mysql_password>
运行go run main.go
执行插入。
查询数据:
此代码从您的表中检索数据:
包装主 进口 ( “数据库/SQL” “ FMT” _“ github.com/go-sql-driver/mysql” ) 类型testtable2 struct { id int json:“ id”` } func main(){ db,err:= sql.open(“ mysql”,“ root:<your_mysql_password> @tcp(127.0.0.1:3306)/123Begin”) 如果err!= nil { 恐慌(err.Error()) } defer db.close() 结果,err:= db.query(“从testtable2中选择ID”) 如果err!= nil { 恐慌(err.Error()) } defer结果。close() for actust.next(){ var testtable2 testtable2 err = results.scan(&testtable2.id) 如果err!= nil { 恐慌(err.Error()) } fmt.println(testtable2.id) } }</your_mysql_password>
运行go run main.go
执行查询。输出应显示插入的数据。
故障排除:
-
错误目录:确保您正在运行
go run main.go
。使用cd
导航。 -
缺少
go.mod
/go.sum
:如果丢失了这些文件,请重新运行go mod init
并go mod tidy
命令。 - MySQL错误:请咨询MySQL的官方文档以解决错误。
该增强的教程为将Golang连接到MySQL提供了更清晰,更简洁,分步的指南。请记住,用您的实际凭据和数据库信息替换占位符值。使用CodeRunner,TablePlus,SnippetSlab和Secrets等工具可以简化您的工作流程。
以上是如何与mysql一起使用golang的详细内容。更多信息请关注PHP中文网其他相关文章!

Apple为其Beta测试程序发布了MacOS红杉15.4的第二版候选人(RC)。这是在几天前发布的红杉体15.4,iOS 18.4和iPados 18.4的最初发行候选版本。 释放候选人

VirtualBuddy:轻松在Apple Silicon Mac上虚拟化macOS和Linux VirtualBuddy提供了一种简单快捷的方法,可在任何Apple Silicon Mac上虚拟化macOS(和Linux),为开发者、爱好者和好奇的用户提供了一种轻松运行多个macOS实例的方法。VirtualBuddy速度快,性能出色,而且它是免费且开源的,因此您可以轻松探索虚拟机世界,无需任何承诺,只需准备足够的磁盘存储空间和带宽来设置macOS或Linux虚拟机即可。 无论是测试不同版本的

在预算上购买二手Mac? 本指南可确保您避免柠檬。 在购买之前,我们将介绍基本检查,包括您可以当场执行的诊断。 请记住带上可引导的MacOS USB驱动器和耳机。 步骤1:物理INSP

MacOS系统软件更新耗时多久?为什么更新要这么久?许多Mac用户在看到新的MacOS系统软件更新时都会有这样的疑问。这两个问题都非常合理,重要的是要记住答案可能会有所不同。但是,使用现代MacOS,您可以对安装MacOS系统更新所需的时间进行相当准确的估计。 让我们深入探讨一下这个主题,以便您更好地理解和准备在Mac上安装MacOS更新。 MacOS更新需要多长时间才能下载、安装和完成? MacOS更新可能需要15-20分钟到几个小时不等才能完成,尤其是在您考虑下载更新和安装更新到完成的情况下

了解MacBook电池寿命:最大化Mac的力量 担心MacBook的电池性能或计划购买?本指南阐明了MacBook电池寿命,并提供了扩展它的提示。 大多数MAC电池都忍受了

Mac系统下的Safari浏览器虽然优秀,但也并非完美无缺。Safari用户偶尔会遇到网页刷新并显示“此网页已重新加载,因为发生问题”错误信息的情况。也可能看到类似“反复出现问题”之类的变体信息。 由于该错误信息比较笼统,您可能想知道Safari中错误的根本原因以及如何在Mac上解决此问题。 导致Safari for Mac出现“此网页已重新加载,因为发生问题”错误的原因 通常,如果存在内存问题、网站崩溃或与Safari不兼容、软件错误或其他类似问题,您会在Mac上的Safari中看到此错误消息

怀旧的Mac用户或许记得经典Mac OS系统中一款有趣的应用程序:它会在Mac菜单栏放置一对会动的眼睛,跟随你的光标移动。虽然经典Mac OS早已成为过去,但你仍然可以在现代Mac上体验这种趣味,只需使用名为“Googly Eyes”的应用程序。 Googly Eyes驻留在你的Mac菜单栏,其瞳孔会像旧版应用程序一样,跟随你的光标移动。点击鼠标/触控板时,小眼睛还会眨眼。这会彻底改变你的计算体验吗?可能不会。但它有趣吗?绝对有趣!有时候,仅仅有趣就足够了,对吧?所以,尽情享受一下吧,在你的Ma

Apple 发布了 macOS Sonoma 14.7.5 和 macOS Ventura 13.7.5 安全更新,适用于运行 Sonoma 和 Ventura 操作系统的 Mac 用户。这些更新专注于安全补丁,不包含最新 macOS Sequoia 15.4 更新中提供的其他新功能(Sequoia 15.4 更新同时发布)。 此外,您还会发现适用于新款和旧款 iPhone 和 iPad 的软件更新,以及适用于 Apple TV、Apple Watch 和 Apple Vision Pro 的更


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

记事本++7.3.1
好用且免费的代码编辑器