2010-10-11 47 views
1

MySQL中的表/字段是否有任何命名约定?我发现了一大堆“保留字”,但除此之外,还有其他关于命名的担忧吗?MySQL字段和表名称约定

例如,是现场/表名像这样接受:

p_name 
p.name 
p-name 

回答

3

您不能使用p.namep-name作为字段! p.name将意味着来自表p的字段namep-name表示从字段p减去字段name

如果在同一数据库中存在第三方表,则数据库中的前缀可能很有用。例如,螳螂前缀(默认情况下)包含mantis_的所有表名以防止名称冲突。我不会推荐这个领域,但这是一个品味的问题,对吧?

+0

谢谢,现在,我在哪里或如何找到什么是和不可接受的?即,你是怎么知道的?有没有一个基于互联网的参考资料来源? (我缺乏白话来找到它!) – 2010-10-11 21:02:46

+0

这些操作符只是基本的SQL,它们在任何有关SQL的书籍或教程中都有解释。我不知道任何参考或列表...您可以使用'_'。为什么你需要另一个符号? – Ishtar 2010-10-11 21:16:43

+0

基本的SQL,是的,但是必须有一个链接或一个单词,我可以在文档中搜索这些链接或单词,这些链接或单词可能会将我描述在描述此页面的页面上。 – 2010-10-12 18:19:23

2

我认为最主要的是刚刚一致

我喜欢表名这样的:

order 
order_detail 
customer 
address 
customer_address (links customer and address) 

我使用的列名的约定相同(小写,用下划线分开的重要的话)。

这是我见过的在大多数不同数据库中使用最多的约定,但同样重要的是只是选择一个模式并坚持使用它。

+0

假设我有'abc_def'和'ghj'表。当我创建一个表来保存它们之间的链接时,是'abc_def_ghj'好吗?是否有更好的解决方案来区分普通表(〜'abc_def'和'ghj')和包含链接(〜'abc_def_ghj')的表? – Mehmed 2013-09-15 21:30:32

+0

@Mehmed - 我们在工作中使用的一个约定是用##分隔链接的表名。所以在你的例子中,它会是abC## def_ghj。 – dcp 2013-09-16 14:22:55