Go 语言数据库连接与使用教程 - 全面指南
在 Go 语言中,可以通过标准库中的'database/sql'来操作数据库。'database/sql'提供了一个通用的接口,可以与各种关系型数据库进行交互,如 MySQL、PostgreSQL、SQLite等。
链接数据库:
- 导入驱动
在 Go 语言中,需要先导入相应的数据库驱动,如 MySQL 的驱动'github.com/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 {
// 错误处理
}
defer db.Close()
}
- 测试链接
err = db.Ping()
if err != nil {
// 错误处理
}
使用数据库:
- 查询数据
rows, err := db.Query("SELECT * FROM user WHERE id = ?", 1)
if err != nil {
// 错误处理
}
defer rows.Close()
for rows.Next() {
var id int
var name string
err = rows.Scan(&id, &name)
if err != nil {
// 错误处理
}
fmt.Printf("id: %d, name: %s\n", id, name)
}
if err = rows.Err(); err != nil {
// 错误处理
}
- 插入数据
result, err := db.Exec("INSERT INTO user(name) VALUES(?)", "Jack")
if err != nil {
// 错误处理
}
lastInsertId, err := result.LastInsertId()
if err != nil {
// 错误处理
}
rowsAffected, err := result.RowsAffected()
if err != nil {
// 错误处理
}
- 更新数据
result, err := db.Exec("UPDATE user SET name = ? WHERE id = ?", "Tom", 1)
if err != nil {
// 错误处理
}
rowsAffected, err := result.RowsAffected()
if err != nil {
// 错误处理
}
- 删除数据
result, err := db.Exec("DELETE FROM user WHERE id = ?", 1)
if err != nil {
// 错误处理
}
rowsAffected, err := result.RowsAffected()
if err != nil {
// 错误处理
}
原文地址: https://www.cveoy.top/t/topic/oMtX 著作权归作者所有。请勿转载和采集!