boj*_*boj 172 postgresql naming-conventions
我在哪里可以找到有关PostgreSQL命名约定的详细手册?(表名与驼峰案例,序列,主键,约束,索引等......)
leo*_*loy 222
关于表名,案例等,普遍的惯例是:
UPPER CASElower_case_with_underscores例如:
UPDATE my_table SET name = 5;
Run Code Online (Sandbox Code Playgroud)
这不是一成不变的,但强烈建议IMO使用小写标识符.Postgresql在没有引用的情况下对标识符不敏感地处理(它实际上将它们在内部折叠为小写),并且在引用时区分大小写; 很多人都没有意识到这种特质.使用小写字母是安全的.无论如何,只要你是一致的,就可以使用camelCase或PascalCase(或UPPER_CASE):始终或永远引用标识符(这包括模式创建!).
我不知道更多的会议或风格指南.代理键通常由一个序列(通常是serial宏)组成,如果你手工创建它们,那么坚持那些序列的命名会很方便(tablename_colname_seq).
也看到一些讨论,在这里,这里和(一般SQL)在这里,所有的几个相关链接.
Cra*_*ger 24
没有真正的正式手册,因为没有单一的风格或标准.
只要您了解标识符命名规则,您就可以使用您喜欢的任何内容.
在实践中,我觉得它更容易使用,lower_case_underscore_separated_identifiers因为它无需"Double Quote"到处保存大小写,空格等.
如果你想为你的表和功能命名,"@MyA??! ""betty"" Shard$42"你可以自由地做到这一点,尽管在任何地方打字都很痛苦.
要了解的主要内容是:
除非双引号,标识符大小写折叠为小写,所以MyTable,MYTABLE并且mytable都是相同的,但是"MYTABLE"并且"MyTable"是不同的;
除非双引号:
SQL标识符和关键字必须以字母(az,但带有变音符号和非拉丁字母的字母)或下划线(_)开头.标识符或关键字中的后续字符可以是字母,下划线,数字(0-9)或美元符号($).
如果要将关键字用作标识符,则必须双引号.
在实践中,我强烈建议您不要使用关键字作为标识符.至少避免保留字.仅仅因为你可以命名一个表"with"并不意味着你应该.