以下是使用Go語言操作MySQL數據庫進行數據插入的步驟:
go-sql-driver/mysql
包來連接MySQL數據庫,需要提供數據庫地址、用戶名、密碼等信息。例如:import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
func main() {
db, err := sql.Open("mysql", "user:password@tcp(localhost:3306)/dbname")
if err != nil {
log.Fatal(err)
}
defer db.Close()
}
users
表中插入一條記錄,可以使用以下語句:INSERT INTO users (name, age, email) VALUES (?, ?, ?)
在Go中,可以使用?
作為參數占位符,然后在執行語句時傳遞具體的參數值。
db.Exec()
方法執行SQL語句,并傳遞參數值。例如:stmt, err := db.Prepare("INSERT INTO users (name, age, email) VALUES (?, ?, ?)")
if err != nil {
log.Fatal(err)
}
defer stmt.Close()
result, err := stmt.Exec("John Doe", 30, "johndoe@example.com")
if err != nil {
log.Fatal(err)
}
lastInsertId, err := result.LastInsertId()
if err != nil {
log.Fatal(err)
}
fmt.Println("Last insert ID:", lastInsertId)
在上面的示例中,我們首先使用db.Prepare()
方法準備SQL語句,然后使用stmt.Exec()
方法執行該語句,并傳遞參數值。最后,我們使用result.LastInsertId()
方法獲取剛剛插入的記錄的自增ID。
需要注意的是,在執行SQL語句后,應該檢查返回的錯誤并進行相應的處理。同時,為了避免SQL注入等安全問題,應該使用參數化查詢的方式來傳遞參數值,而不是直接將參數值拼接到SQL語句字符串中。