GO连接数据库--踩坑(超详细)
2021/11/17 19:11:07
本文主要是介绍GO连接数据库--踩坑(超详细),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
当使用go语言对数据进行连接时需要几部操作:
1.数据库侧:
需要允许远程连接,具体操作方法详见:本地主机连接阿里云数据库(自建数据库)排雷_秋为春的博客-CSDN博客
2.GO侧
1)需要引入go-sql-driver驱动
常见的引入方法有两种:
①通过命令行——前提是go的各个环境变量要配置好
go get -u github.com/go-sql-driver/mysql
②通过git进行复制
首先你的电脑要支持git这个命令,如果不支持需要下载安装Git下载地址给你放这了:
Git for Windows
下载安装后,直接把驱动Git到go path目录下:
git clone github.com/go-sql-driver/mysql
之后在go中使用用这个驱动:
import ( "database/sql" "fmt" _ "mysql" //引入 )
验证是否可以使用go对数据库进行操作:
首先创建一个数据库:
create database test;
以及一个表:
create table table( id int(4), name char(20) )
通过GO代码对数据库进行简单操作:
语法详解:
sql.open(驱动名,数据源dsn)(*DB,err) 数据源语法:"用户名:密码@[连接方式](主机名:端口号)/数据库名" 注意:open()在执行时不会真正的与数据库进行连接,只是设置连接数据库需要的参数 ping()方法才是连接数据库
代码操作:
package main import ( "database/sql" "fmt" _ "mysql" ) func main() { db, err := sql.Open("mysql", "root:xxx@(xxxx:3306)/test") checkErr(err) // insert stmt, err := db.Prepare("INSERT ta SET id=?,name=?") checkErr(err) res, err := stmt.Exec(1, "wang") checkErr(err) // update stmt, err = db.Prepare("update ta set name=? where id=?") checkErr(err) res, err = stmt.Exec("wang", 1) checkErr(err) affect, err := res.RowsAffected() checkErr(err) fmt.Println(affect) // query rows, err := db.Query("SELECT * FROM ta") checkErr(err) for rows.Next() { var uid int var username string err = rows.Scan(&uid, &username) checkErr(err) fmt.Println(uid) fmt.Println(username) } // delete stmt, err = db.Prepare("delete from ta where id=?") checkErr(err) res, err = stmt.Exec(1) checkErr(err) // query rows, err = db.Query("SELECT * FROM ta") checkErr(err) for rows.Next() { var uid int var username string err = rows.Scan(&uid, &username) checkErr(err) fmt.Println(uid) fmt.Println(username) } db.Close() } func checkErr(err error) { if err != nil { panic(err) } }
验证:
这篇关于GO连接数据库--踩坑(超详细)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15SendGrid 的 Go 客户端库怎么实现同时向多个邮箱发送邮件?-icode9专业技术文章分享
- 2024-11-15SendGrid 的 Go 客户端库怎么设置header 和 标签tag 呢?-icode9专业技术文章分享
- 2024-11-12Cargo deny安装指路
- 2024-11-02MongoDB项目实战:从入门到初级应用
- 2024-11-01随时随地一键转录,Google Cloud 新模型 Chirp 2 让语音识别更上一层楼
- 2024-10-25Google Cloud动手实验详解:如何在Cloud Run上开发无服务器应用
- 2024-10-24AI ?先驱齐聚 BAAI 2024,发布大规模语言、多模态、具身、生物计算以及 FlagOpen 2.0 等 AI 模型创新成果。
- 2024-10-20goland工具下,如修改一个项目的标准库SDK的版本-icode9专业技术文章分享
- 2024-10-17Go学习:初学者的简单教程
- 2024-10-17Go学习:新手入门完全指南