Go常用库基础操作系列
- Go语言基础库概述:从标准库到第三方库
- 深入了解net/http包:实现Web请求和响应处理
- 使用fmt包进行输入输出格式化操作
- Go语言中的文件操作:os包实践指南
- 错误处理与日志记录:errors和log包在Go中的应用
- Go语言中的并发与同步:sync包使用要点
- 处理JSON数据:json包详解与实例分析
- 高效的数据结构:slice, map和数组在Go中的考虑和应用
- Go的正则表达式处理:regexp包及其实用技巧
- 遍历和操作目录文件:ioutil和filepath包实用技巧
- 时间与日期处理:time包在Go中的典型用法
- Go中的命令行参数解析:flag包使用指南
- 网络编程实战:如何使用bufio, net和net/url等包
- Go中的加密与安全:crypto包介绍与实例
- Go的测试框架:testing包的基本使用方法与技巧
- GO语言数据库连接与操作:使用database/sql包及其相关驱动程序
文章目录
Go 语言使用 MySQL 的基础操作
在本文中,我们将介绍如何在Go语言中使用database/sql包以及相关的数据库驱动程序来进行数据库连接和操作。我们将使用MySQL数据库作为示例,展示使用go-sql-driver/mysql驱动进行基本的数据库操作。
1. 安装 MySQL 驱动
首先需要安装一个支持MySQL的Go语言驱动程序。本文档将以 go-sql-driver/mysql
为例:
在你的终端或命令提示符中运行以下命令:
go get -u github.com/go-sql-driver/mysql
2. 导入相关库
在你的 Go 代码中导入导入相关库:
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
引入数据库驱动时,需要使用 _
,表示仅导入本包的初始化函数 (init),而不主动调用包内的其他函数执行。
3. 数据库连接
创建一个连接 MySQL 数据库的函数:
func dbConnect() (*sql.DB, error) {
dsn := "username:password@tcp(localhost:3306)/dbname"
db, err := sql.Open("mysql", dsn)
return db, err
}
4. 创建表
创建一个用于示例的 users
表:
func createTable(db *sql.DB) error {
query :=
`CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT
)`
_, err := db.Exec(query)
return err
}
5. 插入数据
创建一个函数用于向 users
表中插入数据:
func insertUser(db *sql.DB, name string, age int) (int64, error) {
query := "INSERT INTO