导读:在Go语言中,连接MySQL数据库是非常常见的操作。本文将介绍如何使用Go语言连接MySQL数据库,并进行基本的增删改查操作。
1. 安装MySQL驱动
首先,我们需要安装MySQL驱动。在Go语言中,常用的MySQL驱动有两个:go-sql-driver/mysql和mysql-connector-go。这里我们选择go-sql-driver/mysql进行安装。
可以使用以下命令进行安装:
```
go get -u github.com/go-sql-driver/mysql
2. 连接MySQL数据库
连接MySQL数据库需要使用database/sql包和go-sql-driver/mysql包。代码示例:
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
func main() {
db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname")
if err != nil {
log.Fatal(err)
}
defer db.Close()
}
其中,`user`为MySQL用户名,`password`为密码,`127.0.0.1:3306`为MySQL服务器地址和端口号,`dbname`为要连接的数据库名。
3. 执行SQL语句
连接成功后,我们可以执行SQL语句进行数据的增删改查操作。代码示例:
// 查询
rows, err := db.Query("SELECT * FROM users")
if err != nil {
log.Fatal(err)
defer rows.Close()
for rows.Next() {
var id int
var name string
var age int
err = rows.Scan(&id, &name, &age)
fmt.Println(id, name, age)
// 插入
stmt, err := db.Prepare("INSERT INTO users(name, age) VALUES(?, ?)")
defer stmt.Close()
res, err := stmt.Exec("Tom", 20)
id, err := res.LastInsertId()
fmt.Println(id)
// 更新
stmt, err = db.Prepare("UPDATE users SET age=? WHERE id=?")
res, err = stmt.Exec(21, 1)
affect, err := res.RowsAffected()
fmt.Println(affect)
// 删除
stmt, err = db.Prepare("DELETE FROM users WHERE id=?")
res, err = stmt.Exec(1)
affect, err = res.RowsAffected()
4. 总结
本文介绍了如何使用Go语言连接MySQL数据库,并进行基本的增删改查操作。需要注意的是,在使用完毕后,需要关闭数据库连接。