nineloong'sblog
首页归档照片墙音乐杂谈友链关于
封面
点击查看全图

MySQL-basic:版本、环境与整理约定

2026/5/19
# MySQL-basic

前言:版本、环境与整理约定

这份笔记基于 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,不区分大小写。

中文入门学习阶段用它足够。

avatar

nineloong

一隅之地,深耕自我

RECOMMENDED

二分查找:从经典模板到应用题

2026/5/23

每日一题:检查数组是否经排序和轮转得到

2026/5/23

每日一题:统计特殊字母的数量 II

2026/5/27

Table of Contents