前言:版本、环境与整理约定
这份笔记基于 reference/MySQL-基础篇.pdf 整理的 MySQL 基础学习记录。适配 macOS 环境。同时以 MySQL Community Server 9.6.0 为例。
这份笔记要解决的问题
- 方便我自己翻阅复习
- 市面上许多教学内容仍使用 MySQL 5.7、8.0 等老版本。
- macOS 的安装目录、服务管理、环境变量和 Windows 不一样,需要特殊注意。
所以我的笔记采用"语法 + 示例 + 原理 + macOS 实操 + 易错点"的写法。方便之后复习和排错。
版本基线
环境配置如下:
MySQL Community Server 9.6.0
macOS
InnoDB
utf8mb4
caching_sha2_password
验证本机 MySQL 版本:
mysql --version
连接 MySQL 后也可以执行:
SELECT VERSION();
如果输出不是 9.6.0,大部分基础 SQL 仍然通用,但安装路径、认证插件、废弃语法和少数默认行为可能不同。后续笔记只在确有必要时说明版本差异。
SQL 风格约定
笔记中的 SQL 采用以下风格:
- SQL 关键字使用大写,例如
SELECT、FROM、WHERE。 - 表名、字段名使用小写加下划线,例如
tb_user、entry_date。 - 字符串使用单引号,例如
'Tom'。 - 每条 SQL 以分号结尾。
- 示例数据库统一使用
mysql_basic。
示例:
CREATE DATABASE IF NOT EXISTS mysql_basic
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_0900_ai_ci;
USE mysql_basic;
字符集与排序规则约定
新建数据库和表时,默认建议使用 utf8mb4。它可以完整支持中文和 emoji,比 utf8 更适合作为现代 MySQL 的默认选择。
示例:
CREATE TABLE tb_user (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID',
name VARCHAR(50) NOT NULL COMMENT '姓名'
) ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
DEFAULT COLLATE = utf8mb4_0900_ai_ci
COMMENT = '用户表';
utf8mb4_0900_ai_ci 中:
0900表示基于 Unicode 9.0 的排序规则。ai表示 accent-insensitive,不区分重音。ci表示 case-insensitive,不区分大小写。
中文入门学习阶段用它足够。
