SQL中的表/字段名称是什么意思?

时间:2011-02-05 00:12:25

标签: sql mysql syntax

这是phpMyAdmin为我生成的SQL语句:

SELECT * FROM `table_name` WHERE 1

您可以看到table_name被`字符包围。

为什么?

2 个答案:

答案 0 :(得分:4)

它用于将identifiers括在MySQL中。

它允许他们在普通SQL中使用含糊不清或无效的字符,例如空格:

`foo bar` - is a valid MySQL identifier

foo bar - is not, since foo is the identifier, and bar is ambiguous

答案 1 :(得分:3)

如果表或字段名中有空格或其他非法字符,则用于转义/包含字符。

来自文档:

  

如果标识符包含   特殊字符或是保留的   一句话,你必须随时引用它   参考它。一组字母数字   当前角色的字符   设置,“_”和“$”并不特别。   保留字列在Section   8.3,“保留字”。

http://dev.mysql.com/doc/refman/5.0/en/identifiers.html