sql中什么时候需要用双引号,什么时候用单引号;

SELECT A1.store_name Store, SUM(A1.Sales) "Total Sales"
FROM Store_Information A1
GROUP BY A1.store_name
上面中的"Total Sales",为什么用双引号括起来;sql中什么时候需要用双引号,什么时候用单引号;

这就要从双引号和单引号的作用讲起:

1,双引号里面的字段会经过编译器解释然后再当作HTML代码输出,但是单引号里面的不需要解释,直接输出。例如:

$abc='I love u';
echo $abc          //结果是:I love u
echo '$abc'        //结果是:$abc 
echo "$abc"        //结果是:I love u 

2,所以在对数据库里面的SQL语句赋值的时候也要用在双引号里面SQL="select a,b,c from ..."

3,但是SQL语句中会有单引号把字段名引出来 

例如:select * from table where user='abc';

这里的SQL语句可以直接写成SQL="select * from table where user='abc'"

4,但是如果象下面:

$user='abc';
SQL1="select * from table where user=' ".$user." '  ";对比一下
SQL2="select * from table where user='    abc    '  "

5,我把单引号和双引号之间多加了点空格,希望你能看的清楚一点。

也就是把'abc' 替换为 '".$user."'都是在一个单引号里面的。只是把整个SQL字符串分割了。

SQL1可以分解为以下3个部分

1:"select * from table where user=' "
2:$user
3:" '  "

字符串之间用 . 来连接。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-05
成对的单引号中间代表字符串,被视为一个整体,单引号内字符串内容有些需要转义的情况下,可能需要增加单引号进行转义,需具体分析;
成对双引号内代表对象,一些带有特殊字符的对象在命名和引用时需要用双引号扩上,比如一个表名需要命名为 表 1(中间有空格),那么就需要在命名和引用过程中写成"表 1",实质上与[表 1]有同等作用.
第2个回答  2014-11-29
SQL中对字符都是用单引号 只有在表名中比较特殊的 比如两个单词组成的表名 才使用双引号把表名括起来。'用来定界字串,"用来定界标识符。

你给出的例子中,正好是用两个单词组成的表名或列名。追问

您说的“字符”是指的数据库中字段吗?

您看我理解对吗:
单引号只用于标识数据库中的字段,而双引号是标识多个单词组成的表名和列名

追答

一般单引号用来标识字串。
一般双引号用来定界标识符,比如一般的字段都是一个字符的,你偏要搞多个字符的,系统正常情况下不认,怎么办?用双引号把它引起来,系统就懂了。当然不光是字段,可能在别的类似的情况下也会用得上。

双引号在SQL语句中用得较少,也建议做字段时别玩这种花样,否则在编程接入数据库时可能碰到一些意想不到的情况。

本回答被提问者采纳
相似回答