返回
新手上路的Go MySQL初学指南
前端
2023-11-03 06:54:29
**引言**
Go语言以其简洁、高效、跨平台等特性,受到开发者的广泛青睐。而MySQL作为最受欢迎的开源关系型数据库之一,也得到了众多开发者的认可。将Go语言与MySQL结合起来,无疑是开发高性能、可扩展应用的利器。
**环境搭建**
在开始使用Go MySQL API之前,我们需要先搭建好开发环境。这里以Docker为例,介绍如何快速搭建MySQL环境。
1. 安装Docker
curl -fsSL https://get.docker.com | sh
2. 运行MySQL容器
docker run -d --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:5.7
3. 连接MySQL
mysql -h 127.0.0.1 -P 3306 -u root -p
**Go MySQL API入门**
接下来,我们将介绍Go MySQL API的基本操作,包括连接数据库、创建表、插入数据、查询数据、更新数据和删除数据。
1. 连接数据库
```go
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func main() {
db, err := sql.Open("mysql", "root:my-secret-pw@tcp(127.0.0.1:3306)/test")
if err != nil {
panic(err)
}
defer db.Close()
// ...
}
-
创建表
_, err := db.Exec("CREATE TABLE users (id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255), PRIMARY KEY (id))") if err != nil { panic(err) }
-
插入数据
result, err := db.Exec("INSERT INTO users (name) VALUES (?)", "John Doe") if err != nil { panic(err) } id, err := result.LastInsertId() if err != nil { panic(err) } fmt.Println("Last inserted ID:", id)
-
查询数据
rows, err := db.Query("SELECT id, name FROM users") if err != nil { panic(err) } defer rows.Close() for rows.Next() { var id int var name string err := rows.Scan(&id, &name) if err != nil { panic(err) } fmt.Println("ID:", id, "Name:", name) }
-
更新数据
_, err := db.Exec("UPDATE users SET name = ? WHERE id = ?", "Jane Doe", 1) if err != nil { panic(err) }
-
删除数据
_, err := db.Exec("DELETE FROM users WHERE id = ?", 1) if err != nil { panic(err) }
结语
以上只是Go MySQL API的基本操作,更多高级操作请参考官方文档。希望本文能帮助初学者快速入门Go MySQL,并开发出更加强大的应用。