返回

新手上路的Go MySQL初学指南

前端







**引言** 

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()

    // ...
}
  1. 创建表

    _, err := db.Exec("CREATE TABLE users (id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255), PRIMARY KEY (id))")
    if err != nil {
        panic(err)
    }
    
  2. 插入数据

    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)
    
  3. 查询数据

    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)
    }
    
  4. 更新数据

    _, err := db.Exec("UPDATE users SET name = ? WHERE id = ?", "Jane Doe", 1)
    if err != nil {
        panic(err)
    }
    
  5. 删除数据

    _, err := db.Exec("DELETE FROM users WHERE id = ?", 1)
    if err != nil {
        panic(err)
    }
    

结语

以上只是Go MySQL API的基本操作,更多高级操作请参考官方文档。希望本文能帮助初学者快速入门Go MySQL,并开发出更加强大的应用。