Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

go mysql

作者:洃铯哖輪   发布日期:2025-05-25   浏览:23

package main

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

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

func main() {
    // 数据库连接信息
    dsn := "user:password@tcp(127.0.0.1:3306)/dbname"

    // 打开数据库连接
    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 the database successfully!")

    // 查询示例
    rows, err := db.Query("SELECT id, name FROM users")
    if err != nil {
        log.Fatal(err)
    }
    defer rows.Close()

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

    // 插入示例
    stmt, err := db.Prepare("INSERT INTO users(name) VALUES(?)")
    if err != nil {
        log.Fatal(err)
    }
    defer stmt.Close()

    res, err := stmt.Exec("Alice")
    if err != nil {
        log.Fatal(err)
    }

    lastInsertID, err := res.LastInsertId()
    if err != nil {
        log.Fatal(err)
    }

    fmt.Printf("Inserted user with ID: %d\n", lastInsertID)
}

代码解释说明:

  1. 导入必要的包

    • database/sql:用于与数据库交互的标准库。
    • github.com/go-sql-driver/mysql:MySQL驱动程序,用于连接MySQL数据库。
  2. 数据库连接信息

    • dsn 是数据源名称 (Data Source Name),包含连接到MySQL数据库所需的信息(用户名、密码、主机、端口和数据库名)。
  3. 打开数据库连接

    • 使用 sql.Open 函数创建一个新的数据库句柄。如果连接失败,程序将终止并输出错误信息。
  4. 测试连接

    • 使用 db.Ping() 测试与数据库的连接是否成功。如果连接失败,程序将终止并输出错误信息。
  5. 查询操作

    • 使用 db.Query 执行SQL查询语句,并遍历结果集。每一行数据通过 rows.Scan 方法读取到变量中。
  6. 插入操作

    • 使用 db.Prepare 准备一个SQL插入语句,并使用 stmt.Exec 执行该语句。插入成功后,可以通过 res.LastInsertId 获取最后插入记录的ID。
  7. 关闭资源

    • 使用 defer 确保在函数结束时关闭数据库连接和预处理语句,以释放资源。

上一篇:mysql调用存储过程

下一篇:mysql update 多个字段

大家都在看

mysqlavg函数保留小数

mysql经纬度距离计算

存储过程mysql

mysql with语句

mysql时间加减

brew 启动mysql

unsigned在mysql中是什么意思

mysql 插入更新

python mysql update

mysql 查看权限

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站