以下是使用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语句字符串中。