Go数据库操作:使用Go访问和操作数据库
    		       		warning:
    		            这篇文章距离上次修改已过434天,其中的内容可能已经有所变动。
    		        
        		                
                
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中使用数据库。
评论已关闭