Skip to content
数据库命名规范:表名、字段名小写强制规约与底层原理

一、强制规约原文(核心必遵守)

  1. 表名、字段名必须使用小写字母或数字
  2. 禁止数字开头
  3. 禁止两个下划线中间只出现数字(如 level_3_name 违规);
  4. 字段名一旦确定,修改代价极大,需慎重定义。

正例 / 反例 一目了然

正例aliyun_adminrdc_configlevel3_name

反例AliyunAdmin(驼峰)、rdcConfig(驼峰)、level_3_name(下划线夹数字)

二、为什么强制小写?

很多开发者疑惑:我本地Windows开发没问题,上线Linux就报错,根源就在这里:

  • Windows:文件系统+MySQL 默认不区分大小写
  • Linux:文件系统大小写敏感,MySQL 默认区分库名、表名、字段名大小写;

一旦使用大写/驼峰命名:

  • 本地运行正常 → 上线Linux直接表找不到、字段不存在
  • 线上故障难以回滚,预发布环境无法提前规避。

强制全小写 = 屏蔽跨平台差异,保证开发/测试/生产环境一致。

三、MySQL 关键参数:lower_case_table_names 校验

阿里规约配套的最实用校验命令,直接判断数据库是否符合规范:

sql
SHOW VARIABLES LIKE 'lower_case_%';

参数解释

  1. lower_case_file_system

    • ON:系统文件大小写不敏感(Windows)
    • OFF:系统文件大小写敏感(Linux)
  2. lower_case_table_names(生产必须=1)

    • 0:区分大小写(高危,禁止生产使用)
    • 1:表名存储小写,比较时不区分(标准规范
    • 2:表名按定义存储,比较时小写

生产标准配置

lower_case_table_names = 1
文档创建时间: 2026年4月5日

最后更新时间: