如何将 mysql 集成到 go 框架中?通过以下步骤:安装 mysql 驱动程序创建数据库连接执行查询扫描查询结果
如何将 MySQL 集成到 Go 框架中
Go 是一种流行的编程语言,以其高性能和并发性而闻名。MySQL 是关系型数据库管理系统 (RDBMS),被广泛用于存储和管理数据。本文将指导您逐步将 MySQL 集成到您的 Go 应用程序中。
先决条件:
- 已安装 Go 语言
- 已安装 MySQL 数据库
- 已创建 MySQL 数据库和用户
步骤:
1. 安装 MySQL 驱动程序
go get github.com/go-sql-driver/mysql
登录后复制
2. 创建数据库连接
import ( "database/sql" "fmt" "log" _ "github.com/go-sql-driver/mysql" // 导入驱动程序 ) func main() { // 数据库连接配置 user := "root" password := "my-password" host := "localhost" port := "3306" dbName := "my_db" // 格式化连接字符串 connectionString := fmt.Sprintf( "%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True", user, password, host, port, dbName, ) // 建立数据库连接 db, err := sql.Open("mysql", connectionString) if err != nil { log.Fatal(err) } // 关闭数据库连接 defer db.Close() }
登录后复制
3. 执行查询
// 查询语句 const query = `SELECT * FROM users WHERE id = ?` // 准备查询 stmt, err := db.Prepare(query) if err != nil { log.Fatal(err) } // 绑定查询参数(id 为占位符) _, err = stmt.Exec(1) if err != nil { log.Fatal(err) }
登录后复制
4. 扫描查询结果
rows, err := stmt.Query(id) if err != nil { log.Fatal(err) } // 遍历查询结果 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) }
登录后复制
实战案例
以下是一个简单的命令行应用程序,它利用 MySQL 集成向用户表中插入一个新记录:
package main import ( "database/sql" "fmt" "log" _ "github.com/go-sql-driver/mysql" ) func main() { // 数据库连接配置 user := "root" password := "my-password" host := "localhost" port := "3306" dbName := "my_db" // 格式化连接字符串 connectionString := fmt.Sprintf( "%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True", user, password, host, port, dbName, ) // 建立数据库连接 db, err := sql.Open("mysql", connectionString) if err != nil { log.Fatal(err) } // 关闭数据库连接 defer db.Close() // 插入查询语句 query := `INSERT INTO users (name, email) VALUES (?, ?)` // 准备查询 stmt, err := db.Prepare(query) if err != nil { log.Fatal(err) } // 绑定查询参数 _, err = stmt.Exec("John Doe", "johndoe@example.com") if err != nil { log.Fatal(err) } fmt.Println("New user inserted successfully!") }
登录后复制
以上就是如何将 MySQL 集成到 Go 框架中?的详细内容,更多请关注其它相关文章!
Article Links:https://www.hinyin.com/n/161426.html
Article Source:admin
Article Copyright:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。