SQL语句的小写或大写

时间:2011-09-27 08:25:01

标签: sql syntax

这些陈述之间是否存在根本区别

"select * from users where id = 1"
OR
 "SELECT* FROM users WHERE id = 1"
OR
 'select * from users where id = 1'
OR
 'SELECT * FROM users WHERE id = 1'

我只是想知道......我总是使用第二种方法,但有些同事必然会使用其他方法。什么是最常见的惯例?

4 个答案:

答案 0 :(得分:8)

您有两个不同的问题:

  1. 是否对SQL关键字使用大写或小写。这是一个品味问题。文档通常使用大写,但我建议您在特定项目中同意。

  2. 如何使用您的宿主语言引用SQL。由于在SQL中使用引号(')引用字符串,我建议您使用双引号(")来引用宿主语言中的SQL语句(或引用引号( """)如果你的宿主语言是python)。 SQL确实使用双引号,但仅适用于包含特殊字符的表,列和函数的名称,这些通常可以避免使用。

    在C / C ++中,有第三种引用选项。如果您的编译器支持可变参数宏(在C99中引入),则可以定义:

    #define SQL(...) #__VA_ARGS__
    

    并使用SQL(SELECT * FROM users WHERE id = 1)之类的SQL。优点是字符串可以跨越多行,而引用的字符串必须分别引用每一行。 python中的tripple引号用于同样的目的。

答案 1 :(得分:3)

它的工作方式没有区别,但通常我把SQL关键字放在大写中,所以它会是:

SELECT * FROM users WHERE id = 1

答案 2 :(得分:1)

上述任何一种都没有根本区别。但是,官方SQL标准直到并包括最新的SQL:2008,一直使用大写字母来区分字段和运算符。

答案 3 :(得分:1)

没有

没有区别。这完全取决于你的习惯。

想问一下C ++中这些代码块之间是否存在差异:

int main() {

}

OR

int
main()
{

}

OR

int main()
{

}

无论如何,编写SQL语句最常用的方法是在UPPERCASE中编写关键字。