商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Golang在Debian上的数据库操作

Golang在Debian上的数据库操作

  发布于2026-07-13 阅读(0)

扫一扫,手机访问

在Debian上玩Golang,数据库操作是绕不开的话题。今天咱们就用MySQL来走一遍流程——从安装到写代码,把常用的增删查改捋清楚。整个过程不复杂,但细节上容易踩坑,咱们一个一个来拆解。

Golang在Debian上的数据库操作

安装MySQL数据库

Debian上装MySQL很简单,两条命令搞定:

sudo apt-get update
sudo apt-get install mysql-server

装完之后,记得确认服务是否正常运行:

sudo systemctl status mysql

看到绿色active就对了。如果有防火墙,别忘了把3306端口放行,否则Golang连不上去。

安装Golang MySQL驱动

Golang自带的database/sql包只是个接口,真正干活需要具体的驱动。MySQL这边最常用的是go-sql-driver/mysql,安装命令:

go get -u github.com/go-sql-driver/mysql

这一步完成后,项目里就能用import _ "github.com/go-sql-driver/mysql"来注册驱动了。

编写Golang代码

新建一个main.go,把下面的代码贴进去。关键地方我加了注释,重点看DSN字符串的写法——用户名、密码、数据库名必须换成你自己的,否则连不上。

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!")

    // 创建表
    _, err = db.Exec("CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT)")
    if err != nil {
        panic(err)
    }
    fmt.Println("Table created!")

    // 插入数据
    _, err = db.Exec("INSERT INTO users (name, age) VALUES (?, ?)", "John Doe", 30)
    if err != nil {
        panic(err)
    }
    fmt.Println("Data inserted!")

    // 查询数据
    rows, err := db.Query("SELECT id, name, age FROM users")
    if err != nil {
        panic(err)
    }
    defer rows.Close()

    for rows.Next() {
        var id int
        var name string
        var age int
        err = rows.Scan(&id, &name, &age)
        if err != nil {
            panic(err)
        }
        fmt.Printf("ID: %d, Name: %s, Age: %d\n", id, name, age)
    }

    // 检查查询过程中的错误
    err = rows.Err()
    if err != nil {
        panic(err)
    }
}

注意dsn里的usernamepassworddbname要替换成实际的MySQL数据库用户名、密码和数据库名称。另外parseTime=True这个参数很关键——如果数据库里有时间字段,不加它解析会出问题。

运行Golang代码

在项目目录下直接跑:

go run main.go

如果一切顺利,你会看到依次输出“Connected to the database!”、“Table created!”、“Data inserted!”以及查询出来的用户数据。整个过程走下来,Golang操作MySQL的基本套路就掌握了。

当然,这只是一个入门示例。实际项目中你还需要处理连接池配置、事务、错误处理等细节。不过骨架搭好了,剩下的就是往里面填业务逻辑了。

本文转载于:https://www.yisu.com/ask/71981781.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注