创建数据库时是否需要在 MySQL 中设置 DEFAULT CHARSET?

Is setting the DEFAULT CHARSET in MySQL necessary when creating databases?

刚完成一门课程,讨论了 MySQL 中的一些主题并一般使用 SQL,我注意到他们在创建数据库时设置了 CHARSET DEFAULT。

CREATE DATABASE IF NOT EXISTS dbName **DEFAULT CHARSET = utf8;**

本课程从未涉及到这一点,我也没有做过类似的事情,只是想知道这是否是在 DBMS 中创建数据库时的通用标准。

谢谢!

可选。

如果您不指定字符集,数据库仍将有一个默认值,它只是一个“默认默认值”,取自 MySQL 的 character_set_server 配置变量。

如果您在创建 TABLE 时指定了 table 的字符集,数据库默认字符集将被忽略。换句话说,如果你不依赖默认,而是为每个 table.

指定一个

在MySQL 8.0中,character_set_server的开箱即用默认最终是utf8mb4,推荐使用。所以你应该不需要在创建数据库时指定字符集。