我试着用这两条SQL语句来创建数据库。
CREATE DATABASE IF NOT EXISTS `dbname` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
和
CREATE DATABASE IF NOT EXISTS `dbname` DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
这两个SQL都得到了同样的结果。
mysql> show create database `dbname`;
+----------------------+--------------------------------------------------------+
| Database | Create Database |
+----------------------+--------------------------------------------------------+
| dbname | CREATE DATABASE `dbname` /*!40100 DEFAULT CHARACTER SET utf8mb4 */ |
+----------------------+--------------------------------------------------------+
但是,没有一个选项叫 CHARSET
在MySQL文档中创建数据库 https:/dev.mysql.comdocrefman8.0encreate-database.html。我想知道这两个语句之间的区别。
我试图找到任何关于的官方文档。CHARSET
也是,但所有的搜索结果都返回链接到 CHARACTER SET
. 我发现的是 这个MariaDB文档 其中有 CREATE TABLE
查询使用 CHARSET
. 所以,我猜测 CHARSET
是一个有效的同义词 CHARACTER SET
.
顺便说一下:我注意到,MySQL有很多类似的功能,但略有 - 到适度不同的名称,如 - 。CURRENT_DATE
和 CURDATE()
. 这些函数的名称几乎完全相同,只是在拼写上略有不同。然而,我所知道的有两个函数的名称完全不同,长度也有明显的差异,但执行的操作却完全相同。这两个函数是 CURRENT_TIMESTAMP
和 NOW()
. 这里是 示范.