有没有认真的MySQL命名风格指南?

有没有认真的MySQL命名风格指南?,mysql,naming,Mysql,Naming,如您所见,您可以定义一些特定的表名(attn-cse-a[3-1][mpms][10-8-2013]) 有评论建议只使用字母数字字符作为好的表名,但这真的是一个明智的选择吗?那么“-”和“\”呢 是否有关于MySQL表、列、索引等命名的严肃样式指南? 我之所以说MySQL,是因为SQL Server的DB语法规则之间有很大的差异,但当然可以是一个通用的SQL命名样式指南 MySQL参考手册很好地描述了什么是允许的: 就我个人而言,我将允许的字符子集用于不带引号的标识符,手册对其描述如下: 非

如您所见,您可以定义一些特定的表名(
attn-cse-a[3-1][mpms][10-8-2013]

有评论建议只使用字母数字字符作为好的表名,但这真的是一个明智的选择吗?那么“-”和“\”呢

是否有关于MySQL表、列、索引等命名的严肃样式指南?


我之所以说MySQL,是因为SQL Server的DB语法规则之间有很大的差异,但当然可以是一个通用的SQL命名样式指南

MySQL参考手册很好地描述了什么是允许的:

就我个人而言,我将允许的字符子集用于不带引号的标识符,手册对其描述如下:

  • 非引号标识符中允许的字符:
    • ASCII:[0-9,a-z,a-z$389;](基本拉丁字母,数字0-9,美元,下划线)
    • 扩展:U+0080。。U+FFFF
进一步限制该列表,我不会在表/列名或其他标识符中使用以下任何内容:

  • 美元符号($)
  • 扩展字符

因此,基本上这会给您留下字母数字字符和下划线,但要避免保留字。

MySQL参考手册对允许的内容有很好的描述:

就我个人而言,我将允许的字符子集用于不带引号的标识符,手册对其描述如下:

  • 非引号标识符中允许的字符:
    • ASCII:[0-9,a-z,a-z$389;](基本拉丁字母,数字0-9,美元,下划线)
    • 扩展:U+0080。。U+FFFF
进一步限制该列表,我不会在表/列名或其他标识符中使用以下任何内容:

  • 美元符号($)
  • 扩展字符

因此,基本上这会给你留下字母数字字符和下划线,但要避免保留字。

+1表示保留字。这是问题中1064个错误的主要原因。+1表示保留字。这是问题中1064个错误的主要原因。