# 数据库入门go语言笔记(四) | 青训营

140 阅读4分钟

项目介绍

  • 安装MySQL
  • 数据库的简单操作,如何进行数据库连接、定义模型结构、创建数据表,并执行插入、查询、更新和删除等操作

实现方法

(1)安装数据库

  1. 下载 MySQL 安装程序: 前往 MySQL 官方网站"www.mysql.com/", 在"Downloads" 部分选择适用于你操作系统的版本。选择 "MySQL Community Edition"(社区版)作为免费版本。
  2. 运行安装程序: 下载完成后,运行下载的安装程序(.msi 文件)。按照安装向导的提示进行操作。你可以选择 "Server only" 安装,以安装 MySQL 服务器和 MySQL 客户端工具。
  3. 选择安装类型: 在安装过程中,你将被要求选择安装类型。选择 "Server only" 以安装 MySQL 服务器。你也可以选择 "Developer Default" 以获得一些开发者工具。
  4. 设置根密码: 在安装过程中,你需要设置 MySQL 的 root 用户密码。请记住这个密码,因为你将需要它来管理数据库。
  5. 选择端口号: 在安装过程中,你可以选择 MySQL 服务器监听的端口号。默认情况下,MySQL 使用 3306 端口。
  6. 完成安装
    安装程序将完成 MySQL 服务器的安装。确保勾选 "Start the MySQL Server at System Startup",这样 MySQL 服务器会在系统启动时自动启动。
  7. 配置环境变量: 打开环境变量,点击下方系统变量中的Path,单击编辑,然后点击新建,浏览,选择MySQL服务器下的bin目录。
  8. 验证安装: 打开 CMD,PowerShell,Windows Terminal其中的任意一个终端,输入mysql -u root -p(注意空格),提示输入密码,输入密码并正确显示MySQL的信息后,至此,MySQL安装成功。

(2)数据库的简单操作

  • 导入相关库:在 Go 语言中导入必要的库和包,以便在程序中连接和操作 MySQL 数据库。
import (
    "database/sql"
    "fmt"
    "log"
    _ "github.com/go-sql-driver/mysql"
)
  • 连接数据库:创建一个连接 MySQL 数据库的函数。
mysqlInfo := "root:1999@tcp(localhost:3306)/wltx?charset=utf8"
db, err := sql.Open("mysql", mysqlInfo)
if err != nil {
    log.Fatal(err)
}
defer db.Close()
  • 创建新表:在wltx数据库内创建一个名字为employees的新表。
// 创建新表
_, err = db.Exec(`
    CREATE TABLE IF NOT EXISTS employees (
        first_name VARCHAR(255),
        last_name VARCHAR(255),
        age INT
    )
`)
if err != nil {
    log.Fatal(err)
}
fmt.Println("New table created successfully!")
  • 插入数据:创建一个函数用于向 employees 表中插入数据。
// 插入数据
insert := "INSERT INTO Employees(first_name, last_name, age) VALUES (?, ?, ?)"
result, err := db.Exec(insert, "Alice", "Smith", 30)
if err != nil {
    fmt.Println("Error inserting data:", err)
} else {
    fmt.Println("Data inserted successfully")
}
  • 更新数据:创建一个函数用于更新employees表中的数据。
// 更新数据
update := "UPDATE Employees SET age = ? WHERE first_name = ? AND last_name = ?"
result, err = db.Exec(update, 31, "Alice", "Smith")
if err != nil {
    fmt.Println("Error updating data:", err)
} else {
    fmt.Println("Data updated successfully")
    rowsAffected, _ := result.RowsAffected()
    fmt.Println("Rows affected:", rowsAffected)
}

总结

在上面这个在线字典项目中,我学习到了一下go语言的知识点:

  1. 导入库和使用包: 在代码的开头,你使用了 import 语句来导入所需的库和包。你导入了 database/sqlfmt 标准库,以及 MySQL 驱动程序 github.com/go-sql-driver/mysql。这些导入语句使你能够使用相应的功能和函数。
  2. 数据库连接和关闭: 通过 sql.Open 函数,你使用提供的 MySQL 连接字符串连接到了 MySQL 数据库。使用 defer 语句,你确保在函数结束后关闭数据库连接。这有助于防止资源泄漏。
  3. 执行 SQL 查询和操作: 使用 db.Exec 函数,你执行了 CREATE TABLEINSERTUPDATEDELETE 操作,分别创建新表、插入数据、更新数据和删除数据。这些操作是通过执行 SQL 查询字符串来实现的。
  4. 处理错误: 你使用了 if err != nil 的方式来处理可能发生的错误。在发生错误时,你使用 log.Fatal 打印错误信息并终止程序的执行。这是一种常见的处理错误的方式。
  5. 查询和处理查询结果: 通过使用 db.Query 函数,你执行了一个查询,并使用 rows.Nextrows.Scan 来遍历查询结果的每一行,并从结果中获取数据。你使用 defer rows.Close() 来确保在函数结束后关闭查询结果。
  6. 格式化和输出: 使用 fmt.Println,你输出了不同的信息,如成功创建新表、插入数据、更新数据等操作的结果。