为什么SQL条目用大写写?

时间:2010-07-19 08:58:14

标签: sql syntax

  

可能重复:
  Why should I capitalize my SQL keywords?

嗨,

我对SQL很陌生,但我注意到写作

SELECT * FROM column_name

时几乎总是使用

select * from column_name

产生完全相同的结果。我在网上找不到任何关于此的内容。这只是一个惯例吗?或者不会使用大写破坏我不知道的旧系统/系统上的脚本?

感谢

4 个答案:

答案 0 :(得分:6)

SQL是在20世纪70年代开发的,当时流行的编程语言(如COBOL)使用了ALL CAPS,并且约定必须卡住。

答案 1 :(得分:2)

它们完全等效,大写只是使查询更容易阅读。

答案 2 :(得分:2)

这是因为这是ANSI标准中定义的方式。请参阅第5节词汇元素,我认为它从那里开始。

http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt

答案 3 :(得分:1)

请注意,这实际上取决于您的sql数据库实现。 Oracle倾向于将所有内容转换为大写。 Postgresql相反,将sql关键字或列标识符转换为小写。 对于标识符(表,列,...),您可以通过双引号来防止数据库“聪明”。

从MyTable中选择“TeST”;

将在Oracle中翻译成SELECT“TeST”FROM MYTABLE;并在Postgresql中从mytable中选择“TeST”;

在使用jdbc时也要考虑这种行为,因为在ResultSet中检索的列名也将遵循这些规则,因此如果考虑可移植性,双引号标识符可能是一种很好的做法。