Go 语言操作 MySQL 主要涉及到数据库连接、查询执行、事务处理等基本操作。Go 提供了 database/sql
包作为数据库操作的接口,而具体的 MySQL 驱动则由第三方库提供,如 go-sql-driver/mysql
。
database/sql
包提供了统一的数据库操作接口,便于切换不同的数据库驱动。go-sql-driver/mysql
,简化了数据库操作。以下是一个简单的 Go 操作 MySQL 的示例代码:
package main
import (
"database/sql"
"fmt"
_ "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 {
panic(err.Error())
}
defer db.Close()
// 测试数据库连接
err = db.Ping()
if err != nil {
panic(err.Error())
}
// 执行查询
rows, err := db.Query("SELECT id, name FROM users")
if err != nil {
panic(err.Error())
}
defer rows.Close()
// 处理查询结果
for rows.Next() {
var id int
var name string
err = rows.Scan(&id, &name)
if err != nil {
panic(err.Error())
}
fmt.Printf("ID: %d, Name: %s\n", id, name)
}
// 检查遍历过程中是否出错
if err = rows.Err(); err != nil {
panic(err.Error())
}
}
db.Prepare
和 stmt.Exec
)来防止 SQL 注入。通过以上内容,你应该对 Go 操作 MySQL 有了一个全面的了解,并且能够解决一些常见问题。
领取专属 10元无门槛券
手把手带您无忧上云