发布时间:2024-11-21 17:36:46
go get -u github.com/go-sql-driver/mysql
这将下载并安装最新版本的MySQL驱动程序到您的GOPATH中。
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
func main() {
db, err := sql.Open("mysql", "username:password@tcp(hostname:port)/database_name")
if err != nil {
log.Fatal(err)
}
defer db.Close()
// 在这里执行数据库查询
}
通过将合适的用户名、密码、主机名、端口号和数据库名称替换到上面的代码中,您将能够成功连接到MySQL数据库。
func main() {
db, err := sql.Open("mysql", "username:password@tcp(hostname:port)/database_name")
if err != nil {
log.Fatal(err)
}
defer db.Close()
rows, err := db.Query("SELECT * FROM users")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
var id int
var name string
err = rows.Scan(&id, &name)
if err != nil {
log.Fatal(err)
}
fmt.Println(id, name)
}
if err = rows.Err(); err != nil {
log.Fatal(err)
}
}
以上代码将执行一个SELECT查询并遍历结果集。在这个示例中,我们假设有一个名为“users”的表,其中包含"id"和"name"列。
func main() {
db, err := sql.Open("mysql", "username:password@tcp(hostname:port)/database_name")
if err != nil {
log.Fatal(err)
}
defer db.Close()
stmt, err := db.Prepare("INSERT INTO users(name) VALUES(?)")
if err != nil {
log.Fatal(err)
}
defer stmt.Close()
_, err = stmt.Exec("John Doe")
if err != nil {
log.Fatal(err)
}
}
以上代码将向名为“users”的表中插入一个名为"John Doe"的新用户。