嗨,
我对SQL很陌生,但我注意到写作
SELECT * FROM column_name
时几乎总是使用
select * from column_name
产生完全相同的结果。我在网上找不到任何关于此的内容。这只是一个惯例吗?或者不会使用大写破坏我不知道的旧系统/系统上的脚本?
感谢
答案 0 :(得分:6)
SQL是在20世纪70年代开发的,当时流行的编程语言(如COBOL)使用了ALL CAPS,并且约定必须卡住。
答案 1 :(得分:2)
它们完全等效,大写只是使查询更容易阅读。
答案 2 :(得分:2)
这是因为这是ANSI标准中定义的方式。请参阅第5节词汇元素,我认为它从那里开始。
答案 3 :(得分:1)
请注意,这实际上取决于您的sql数据库实现。 Oracle倾向于将所有内容转换为大写。 Postgresql相反,将sql关键字或列标识符转换为小写。 对于标识符(表,列,...),您可以通过双引号来防止数据库“聪明”。
从MyTable中选择“TeST”;
将在Oracle中翻译成SELECT“TeST”FROM MYTABLE;并在Postgresql中从mytable中选择“TeST”;
在使用jdbc时也要考虑这种行为,因为在ResultSet中检索的列名也将遵循这些规则,因此如果考虑可移植性,双引号标识符可能是一种很好的做法。