发布于2026-07-19 阅读(0)
扫一扫,手机访问
在Debian环境下用Go操作数据库,整体流程其实很清晰,无非就是环境准备、驱动安装、代码编写和运行验证这几个环节。下面直接进入正题,从环境搭建开始说起。
如果系统里还没有Go,需要先装好。前往Go官方下载页面,选择适用于Debian的版本安装即可。这部分没什么特别之处,按照常规的安装步骤走就行。
Go语言本身不直接提供数据库连接能力,需要借助第三方驱动库。根据目标数据库类型,用go get命令安装对应的驱动包。
常见数据库的驱动安装方式如下:
MySQL:使用go-sql-driver/mysql驱动
go get -u github.com/go-sql-driver/mysql
PostgreSQL:使用lib/pq驱动
go get -u github.com/lib/pq
SQLite:使用mattn/go-sqlite3驱动
go get -u github.com/mattn/go-sqlite3
MongoDB:使用官方MongoDB驱动
go get -u go.mongodb.org/mongo-driver/mongo
这里有个细节需要注意:go get命令默认会在$GOPATH或$GOMODCACHE下安装依赖,确保网络环境畅通即可。
以MySQL为例,一个完整的连接代码如下:
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func main() {
// 数据库连接字符串
dsn := "username:password@tcp(localhost:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
// 连接数据库
db, err := sql.Open("mysql", dsn)
if err != nil {
panic(err)
}
defer db.Close()
// 测试数据库连接
err = db.Ping()
if err != nil {
panic(err)
}
fmt.Println("Connected to the database!")
}
需要将dsn中的username、password、localhost、3306和dbname替换为实际值。注意连接字符串中的parseTime=True参数,如果不加的话,时间类型的字段会直接返回字符串而非time.Time对象,这在后续处理中会带来不少麻烦。
在项目目录下执行:
go run main.go
如果一切正常,控制台会输出Connected to the database!。如果遇到连接失败,优先检查网络连通性、账号权限以及连接字符串格式是否准确。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8