总结了 SQL 元素在 Windows 和 Linux 系统是否区分大小写。
| Windows
| Linux
| 数据库名
| 否(忽略大小写) | 是 | 表名
| 是 | 表别名
| 是 | 列名
| 否(忽略大小写) | 列别名
| 否(忽略大小写) | 变量名 | 是 |
在阿里巴巴 Java 开发手册的 MySql 建表规约里提到: 【强制】表名、字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线中间只出现数字。数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称需要慎重考虑。 通俗的说就是,MySQL 在 Windows 系统下不区分大小写,但在 Linux 系统下默认区分大小写。因此,数据库名、表名和字段名,都不允许出现任何大写字母,避免节外生枝。 一般建议统一使用小写字母,并且 InnoDB 引擎在其内部都是以小写字母方式来存储数据库名和表名的。这样可以有效的防止 MySQL 产生大小写问题。 |