按例 4-1 到例 4-3,建立数据库 teaching,查看它的建立语句,修改它的字符集,最后删除它。
MySQL 8.0 和 MySQL Workbench,机房电脑已装好。所有语句在 Workbench 的 SQL 编辑区中执行。
Ctrl+Enter 执行光标所在的一句,Ctrl+Shift+Enter 执行全部。Mac 上把 Ctrl 换成 ⌘。
输入法切到英文。表名、字段名不加引号,字符串值才用单引号。
删除以前建立的 teaching 库,从没有这个库开始。第 6 章会重新建立它和其中的数据。
DROP DATABASE IF EXISTS teaching; SHOW DATABASES;
CREATE DATABASE IF NOT EXISTS teaching DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_0900_ai_ci; SHOW DATABASES;
| IF NOT EXISTS | 数据库已经存在时不报错,也不重建 |
| DEFAULT CHARACTER SET | 在库中新建表时默认使用的字符集 |
| DEFAULT COLLATE | 默认的校对规则 |
SHOW CREATE DATABASE teaching;
| Create Database | 这一列是建立数据库的完整语句,带有字符集和校对规则 |
| /*!40100 … */ | MySQL 自动加上的版本注释,后面的 DEFAULT ENCRYPTION 也可以不管 |
| 数据文件夹 | C:\ProgramData\MySQL\MySQL Server 8.0\Data。ProgramData 是隐藏文件夹,要在资源管理器中勾选显示隐藏的项目 |
ALTER DATABASE teaching DEFAULT CHARACTER SET gbk DEFAULT COLLATE gbk_chinese_ci; SHOW CREATE DATABASE teaching; ALTER DATABASE teaching DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_0900_ai_ci;
| ALTER DATABASE | 修改数据库默认的字符集和校对规则,不能修改库名 |
| gbk_chinese_ci | gbk 默认的校对规则,不区分大小写 |
| 改回 utf8mb4 | 以后的实验都使用 utf8mb4 |
有报错的语句要逐句执行:光标放在这一句上,按 Ctrl+Enter。
DROP DATABASE IF EXISTS teaching; SHOW DATABASES; DROP DATABASE teaching;
| IF EXISTS | 数据库不存在时不报错,只给出一个警告 |
| 报错 1008 | Can't drop database,要删除的数据库不存在 |
| 不能撤销 | 删除以后,库中的表和数据都没有了 |