Go数据库操作:使用Go访问和操作数据库
warning:
这篇文章距离上次修改已过183天,其中的内容可能已经有所变动。
package main
import (
"database/sql"
"fmt"
"log"
_ "github.com/go-sql-driver/mysql" // 导入MySQL驱动
)
func main() {
// 连接数据库
db, err := sql.Open("mysql", "username:password@tcp(localhost:3306)/dbname")
if err != nil {
log.Fatal(err)
}
defer db.Close()
// 检查数据库连接是否成功
if err := db.Ping(); err != nil {
log.Fatal(err)
}
// 查询
var name string
var age int
rows, err := db.Query("SELECT name, age FROM users WHERE id = ?", 1)
if err != nil {
log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
err := rows.Scan(&name, &age)
if err != nil {
log.Fatal(err)
}
fmt.Printf("Name: %s, Age: %d\n", name, age)
}
// 插入
res, err := db.Exec("INSERT INTO users (name, age) VALUES (?, ?)", "Alice", 30)
if err != nil {
log.Fatal(err)
}
// 获取插入ID
insertedId, err := res.LastInsertId()
if err != nil {
log.Fatal(err)
}
fmt.Printf("Inserted row ID: %d\n", insertedId)
// 更新
_, err = db.Exec("UPDATE users SET age = ? WHERE id = ?", 31, 1)
if err != nil {
log.Fatal(err)
}
fmt.Println("Update successful")
// 删除
_, err = db.Exec("DELETE FROM users WHERE id = ?", 1)
if err != nil {
log.Fatal(err)
}
fmt.Println("Delete successful")
}
这段代码展示了如何使用Go语言操作MySQL数据库。首先,我们导入了必要的数据库驱动,然后使用sql.Open
建立连接。接下来,我们使用db.Ping
检查数据库连接是否成功。之后,我们执行了查询、插入、更新和删除操作,并处理了可能出现的错误。这个例子涵盖了数据库操作的基础,并展示了如何在Go中使用数据库。
评论已关闭