MySQL 数据库文件命名规则核心在于统一性与规范性。所有数据库对象名称必须使用小写字母并用下划线分割,禁止超过 32 个字符,且严禁使用 MySQL 保留关键字。为避免混乱和数据丢失,临时库表必须以 tmp 为前缀并加日期后缀,备份表必须以 bak 为前缀并加日期后缀,确保可追溯。为优化查询性能,所有存储相同数据的列名和列类型必须一致,防止隐式转换导致索引失效。表名应见名知意,常规表建议以 t_或模块名开头,字段需添加注释,存储引擎首选 InnoDB,从而保障系统稳定、健康运行。
绝对必备:MySQL 数据库开发的完整规范指南
二、命名规范 所有 SQL 语句编写统一大小写风格,其中数据库关键字大写,库名、表名、字段名使用小写字母,须见名知意。数据库对象命名禁止超过 30 个字符。命名避免使用 Mysql 的保留字和系统关键字。临时库、表名必须以 tmp 为前缀,并以日期为后缀。备份库、表必须以 bak 为前缀,并以日期为后缀。索引命名:非唯一索引以"idx_字段 1_字段 2" , 唯一索引以"uniq_字段 1_字段 2"命名,外键以"fk_字段 1"命名,主键以"pk_字段 1"命名。(截至 2026 年 1 月 9 日)
【笔记】Mysql 数据库操作规范
mysql 数据库安全性设置有哪些?1.命名规范:库名,表名,字段名必须使用小写字母,并采用下划线分割.[faq-1-01] 库名,表名,字段名禁⽤超过 32 个字符.[faq-1-02] 库名,表名,字段名必须见名知意。命名与业务,产品线等相关联。库名,表名,字段名禁止使用 mysql 保留字.[faq-1-03]【mysql 保留字】临时库,表名必须以 tmp 为前缀,并以日期为后缀。例如 tmp_test01_20180704. 备份库,表名必须以 bak 为前缀,并以日期为后缀。例如 bak_test01_20180704. 2.基础规范:使⽤ innodb 存储引擎.[faq-2-01] 库表字符集默认使⽤ utf8mb4,特殊情况可以使用 utf8 等其他字符集.[faq-2-02] 所有表都需要添加注释,除主键外的其他字段都需要增加注释。推荐采⽤英文标点,避免出现乱码。禁⽌在 数据库 中存储图片,文件等 大数据 . 每张表数据量建议控制在 5000w 以内.(该信息的时间戳是 2026 年 4 月 11 日)
开发规范 (一):Mysql 篇
mysql 数据库如何优化查询性能?mysql 数据库如何保证数据安全性?1.流程 数据库 表结构的修改需要相关人员和 leader 一起评审,保证符合涉及规范。不允许使用 root 账号,所有开发和测试应当分配指定账号,并授予最小数据库权限 2.数据库与表规范 表命名规范 常规表表名以 t_开头,t 代表 table 的意思,命名规则即「t + 模块 (包含模块含义的简写)+ 表 (包含表含义的简写)」,比如用户模块的教育信息表:t_user_eduinfo. 临时表 (rd,qa 或 dba 同学用于数据临时处理的表),命名规则:「temp 前缀 + 模块 + 表 + 日期后缀」:temp_user_eduinfo_20210719 备份表 (用于保存和归档历史数据或者作为 灾备 恢复的数据) 命名规则,「bak 前缀 + 模块 + 表 + 日期后缀」:bak_user_eduinfo_20210719 区分位:iz_* [string(1)] 1 表示是 0 表示否,(禁用 is_,代码生成实体有问题 ) 状态位:*_status [string(1-2)] 状态字段必须加注释说明每个值代表含义 同一个模块的表尽可能使用相同的前缀,表名称尽可能表达含义 多个单词以下划线 _ 分隔 常规表表名尽量不超过(2026 年 4 月 10 日)
MySQL 数据库设计规范
1. 规范背景与目的 MySQL 数据库与 Oracle、SQL Server 等数据库相比,有其内核上的优势与劣势。我们在使用 MySQL 数据库的时候需要遵循一定规范,扬长避短。本规范旨在帮助或指导 RD、QA、OP 等技术人员做出适合线上业务的数据库设计。在数据库变更和处理流程、数据库表设计、SQL 编写等方面予以规范,从而为公司业务系统稳定、健康地运行提供保障。2. 设计规范 2.1 数据库设计 以下所有规范会按照【高危】、【强制】、【建议】三个级别进行标注,遵守优先级从高到低。对于不满足【高危】和【强制】两个级别的设计,DBA 会强制打回要求修改。2.1.1 库名【强制】库的名称必须控制在 32 个字符以内,相关模块的表名与表名之间尽量提现 join 的关系,如 user 表和 user_login 表。【强制】库的名称格式:业务系统名称_子系统名,同一模块使用的表名尽量使用统一前缀。【强制】一般分库名称命名格式是库通配名_编号,编号从 0 开始递增,比如 wenda_001 以时间进行分库的名称格式是“库通配名_时间”【强制】创建数据库时必须显式指定字符集,并且字符集只能是 utf8 或者 utf8mb4。创建数据库 SQL 举例:create database db1 default character set utf8;。2.1.2 表结构【强制】表和列的名称必须控制在 32 个字符以内,表名只能使用字母、数字和下划线,一律小写。【强制】表名要求模块名强相关,如师资系统采用”sz"作为前缀,渠道系统采用”qd"作为前缀等。【强制】创建表时必须显式指定字符集为 utf8 或 utf8mb4。【强制】创建表时必须显式指定表存储引擎类型,如无特殊需求,一律为 InnoDB。当需要使用除 InnoDB/MyISAM/Memory 以外的存储引擎时,必须通过 DBA 审核才能在生产环境中使用。因为 Innodb 表支持事务、行锁、宕机恢复、MVCC 等关系型数据库重要特性,为业界使用最多的 MySQL 存储引擎。而这是其他大多数存储引擎不具备的,因此首推 InnoDB。【强制】建表必须有 comment【建议】建表时关于主键:(1) 强制要求主键为 id,类型为 int 或 bigint,且为 auto_increment (2) 标识表里每一行主体的字段不要设为主键,建议设为其他字段如 user_id,order_id 等,并建立 unique key 索引 (可参考 cdb.teacher 表设计)。因为如果设为主键且主键值为随机插入,则会导致 innodb 内部 page 分裂和大量随机 I/O,性能下降。【建议】核心表 (如用户表,金钱相关的表) 必须有行数据的创建时间字段 create_time 和最后更新时间字段 update_time,便于查问题。【建议】表中所有字段必须都是 NOT NULL 属性,业务可以根据需要定义 DEFAULT 值。(资料日期为 2026 年 4 月 14 日)
FAQ
为什么数据库命名要用小写和下划线?
因为 MySQL 在不同操作系统下对大小写敏感性不同,统一小写可避免跨平台兼容性问题,下划线分割能提高可读性。
临时表和备份表如何命名?
临时表必须以 tmp 为前缀并以日期为后缀,备份表必须以 bak 为前缀并以日期为后缀,便于识别和清理。
表名长度有限制吗?
有,数据库对象命名禁止超过 30 或 32 个字符,具体视规范而定,通常建议控制在 32 个字符以内。