Go语言,查询MySQL数据库

在Go语言中,查询MySQL数据库的一个常用库是database/sql标准库

首先,确保你已经安装了MySQL驱动:

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

示例代码 main.go

复制代码
package main

import (
    "database/sql"
    "fmt"
    "log"

    _ "github.com/go-sql-driver/mysql"
)

func main() {
    // DSN (Data Source Name) 格式为:[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...&paramN=valueN]
    dsn := "agent:agent@tcp(localhost:3306)/callcenter_db?parseTime=true&charset=utf8"

    // 打开数据库连接
    db, err := sql.Open("mysql", dsn)
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()

    // 测试数据库连接是否成功
    err = db.Ping()
    if err != nil {
        log.Fatal(err)
    }

    fmt.Println("Connected to MySQL database!")

    // 执行查询
    rows, err := db.Query("SELECT en_name, first_name FROM user")
    if err != nil {
        log.Fatal(err)
    }
    defer rows.Close()

    // 遍历查询结果
    for rows.Next() {
        var id sql.NullInt64
        var name string
        if err := rows.Scan(&id, &name); err != nil {
            log.Fatal(err)
        }

        // 如果ID是NULL,则赋值为0
        if id.Valid == false { //Vailid 为false ,说明表中的值为NULL
            id.Int64 = 0
        }

        fmt.Printf("ID: %d, Name: %s\n", id, name)
    }

    // 检查遍历过程中是否有错误发生
    if err = rows.Err(); err != nil {
        log.Fatal(err)
    }
}
复制代码

连接字符串

dsn := "agent:agent@tcp(localhost:3306)/callcenter_db?parseTime=true&charset=utf8"

用户名 agent  密码 agent

注意 用户名 和 密码 之间 ,有个  :  符号

localhost 是IP 地址    

3306 是mysql 端口号

callcenter_db 是数据库名称

posted @   海乐学习  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示