下面我会详细讲解如何用Go语言操作MySQL数据库,并且提供两个简单的示例。
1. 安装Go-MySQL-Driver
Go-MySQL-Driver是一个Go语言的MySQL驱动程序,需要首先安装。可以通过以下命令行安装:
go get -u github.com/go-sql-driver/mysql
2. 连接数据库
连接到数据库的步骤如下所示:
import (
"database/sql"
_ "github.com/go-sql-driver/mysql" // 注意这里使用了下划线(_)表示只是调用了这个包里的init函数
)
func main() {
db, err := sql.Open("mysql", "username:password@tcp(host:port)/databaseName")
if err != nil {
log.Fatal(err)
}
defer db.Close()
}
在上面的代码中,sql.Open()
函数返回一个 *sql.DB 对象,它是连接到MySQL数据库的句柄。
3. 执行查询
下面是一个简单的查询示例,它可以查询一个名为 users
的表中的所有行,并打印出它们:
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)
}
err = rows.Err()
if err != nil {
log.Fatal(err)
}
在上面的代码中,我们使用 db.Query()
函数执行了一个SELECT查询,并把结果放到一个 *sql.Rows 对象里面。然后使用 rows.Next()
循环遍历每一行数据,使用 rows.Scan()
函数将每一行数据赋值给变量。最后使用 rows.Err()
检查是否有错误并处理。
4. 执行更新
下面是一个简单的更新示例,它可以更新一个名为 users
的表中的一个行的数据:
stmt, err := db.Prepare("UPDATE users SET name=? WHERE id=?")
if err != nil {
log.Fatal(err)
}
defer stmt.Close()
_, err = stmt.Exec("new name", 1)
if err != nil {
log.Fatal(err)
}
在上面的代码中,我们使用 db.Prepare()
函数准备一个 SQL 语句,使用占位符 ?
表示待填充的参数。然后使用 stmt.Exec()
函数执行 SQL 语句并填充参数,最后返回更新行的数量。
以上就是使用Go语言操作MySQL数据库的简单例子,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Go语言操作mysql数据库简单例子 - Python技术站