当前位置:首页 » 编程语言 » sql里什么时候使用引号
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql里什么时候使用引号

发布时间: 2022-11-07 17:50:29

sql语句什么时候用双引号或者单引号

估计你问的问题是在程序里写代码的时候有双引号和单引号!~
双引号表示
库里的字段是数值型的!~
而单引号是表示字符型的!~
select
*
from
table
where
a="text1.text"
and
b='"
text2.text"'"

② 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:" ' "

字符串之间用 . 来连接。

③ SQL语句中,什么情况下加引号,什么情况下不加引号

如果是字符串类型的话必须加引号,至于数值类型的可加可不加。

④ sql语句引号用法 数据库中引号的用法

1、首先先来说一下单引号和反引号,这里的 '图书ID' 就使用到了单引号,而

2、CREATE TABLE `book` 这里的 book 就使用到了反引号。

3、单引号:在例子中的条件值周围使用的是单引号。SQL 使用单引号来环绕文本值。如果是数值,请不要使用引号。按照别的说法来说就是Varchar类型(也可以说是String、字符串类型)这一些在数据库语句中使用的时候应该使用单引号,而不是直接使用。而对于数值类型的,反而是不能使用单引号。

4、反引号:它是为了区分MYSQL的保留字与普通字符而引入的符号。

5、注意划重点:有MYSQL保留字作为字段的,必须加上反引号来区分!

6、双引号的用法和单引号有所类似,大多数数据库都支持单引号和双引号的互换,即varchar类型的变量既可以用单引号来囊括,也可以用双引号。当然了,一边单引号,一边双引号是不被允许的。

7、另外,在oracle里面,双引号还有一个意义,那就是保留大小写。在oracle数据库里面,所有的字段是默认为转化成大写后进数据库的,所以如果有一个表名为user,这个时候select * from user;这个语句是查不出任何数据的!(明明创建了表,也会提示表不存在的错误)只有select * from “user”才可以,因为上面的语句会默认转化为大写。

8、字符串用单引号;表名,字段名等用反引号;大小写冲突用双引号。

⑤ sql语句什么时候加引号

明显不对。
select...是sql语句。
$_post...是php语句。

如果你写的是sql语句,那就不能有$_post[]
如果你写的是php语句,那就应该把其中的sql语句部分作为一般的字符串处理:
$sql = "select * from a where `name`=";
$sql .= $_post['name'];
然后再用php的sql library的function来运行这个字符串$sql

在纯sql语句中,如 爱老婆 所说,字段名加`或者什么也不加;字符类型的数值加单引号。
在php语句中,由于sql部分被认为是字符串,所以要加单/双引号。但因为sql语句中,本身可能包含单引号,所以为了分辨,必须用双引号。
而$_post['name']的意思是,php在载入页面的时候,把所有用html的post方法得到的变量都放入了一个叫_post的数组中。$_post['name']就是调用_post数组中,名称为字符串name的那个变量的值。

⑥ SQL中什么情况下用引号

在标准sql中,引号的使用
请注意,我们在例子中的条件值周围使用的是单引号。SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。文本值:
这是正确的:SELECT * FROM Persons WHERE FirstName='Bush' 这是错误的:SELECT * FROM Persons WHERE FirstName=Bush 数值:
这是正确的:SELECT * FROM Persons WHERE Year>1965 这是错误的:SELECT * FROM Persons WHERE Year>'1965' “单引号和双引号之间的区别最早在SQL92标准中引入的。对于标识符,这个标准区分了常规标识符和分隔的标识符。两者主要的区别在于:分隔的标识符被括在双引号中(Transact-SQL也支持方括号的使用:[标识符])并且是区分大小写的。单引号只用于字符串的定界。总的来说,引入分隔的标识符是为了对标识符进行规范,否则就会与保留字相同了。特别要提到的是,分隔的标识符能够使你在命名(标识符或变量的名字)的时候,免于使用在将来的SQL标准中可能出现的保留字。另外,分隔的标识符能够包含一些在通常的标识符名称中被视为不合法的字符,如空格。
在SQL SERVER中,双引号的使用由SET 语句中的QUOTED_IDENTIFIER选项来定义。如果这个选项被设为ON,则双引号中的标识符将被定义为一个分隔的标识符。在这种情况下,双引号不能被用于定界字符串。”
当 QUOTED_IDENTIFIER 为 ON 时,对于 SQL 语句中的双引号和单引号 (') 的使用,SQL Server 遵循 SQL-92 规则:
双引号只能用于分隔标识符,不能用于分隔字符串。
为保持与现有应用程序的兼容性,SQL Server 并不完全强制该规则。如果字符串没有超过标识符的长度,则该字符串可包含在双引号内。但不建议这样做。
单引号必须用来包含字符串,不能用于分隔标识符。
如果字符串包含单引号,则需要在单引号前再增加一个单引号:
SELECT * FROM "My Table"
WHERE "Last Name" = 'O''Brien'

当 QUOTED_IDENTIFIER 为 OFF 时,对于双引号和单引号的使用,SQL Server 遵循如下规则:

引号不能用于分隔标识符,而是用括号作为分隔符。

单引号或双引号可用于包含字符串。
如果使用双引号,嵌入的单引号不需要用两个单引号来表示:

SELECT * FROM [My Table]
WHERE [Last Name] = "O'Brien"

无论 QUOTED_IDENTIFIER 的设置如何,都可以在括号中使用分隔符。

分隔标识符规则
分隔标识符的格式规则是:

分隔标识符可以包含与常规标识符相同的字符数(1 到 128 个,不包括分隔符字符)。本地临时表标识符最多可以包含 116 个字符。

标识符的主体可以包含当前代码页内字母(分隔符本身除外)的任意组合。例如,分隔符标识符可以包含空格、对常规标识符有效的任何字符以及下列任何字符: 代字号 (~) 连字符 (-)
惊叹号 (!) 左括号 ({)
百分号 (%) 右括号 (})
插入号 (^) 撇号 (')
and 号 (&) 句号 (.)
左圆括号 (() 反斜杠 (\)
右圆括号 ()) 重音符号 (`) 转载标识符的概念: 数据库名是一个标识符,表名也是一个标识符,在SQL SERVER中标识符分为两类:标识符有两类:常规标识符符合标识符的格式规则。在 Transact-SQL 语句中使用常规标识符时不用将其分隔。SELECT *FROM TableXWHERE KeyCol = 124
分隔标识符包含在双引号 (") 或者方括号 ([ ]) 内。符合标识符格式规则的标识符可以分隔,也可以不分隔。SELECT *FROM [TableX] --Delimiter is optional.WHERE [KeyCol] = 124 --Delimiter is optional.在 Transact-SQL 语句中,对不符合所有标识符规则的标识符必须进行分隔。SELECT *FROM [My Table] --Identifier contains a space and uses a reserved keyword.WHERE [order] = 10 --Identifier is a reserved keyword.常规标识符和分隔标识符包含的字符数必须在 1 到 128 之间。对于本地临时表,标识符最多可以有 116 个字符。两者重要的区别:常规标识符必须严格遵守命名的规定,而分隔标识符则可以不遵守命名规定,只要用[],""分隔出来就可以。标识符格式:

1、标识符必须是统一码(Unicode)2.0标准中规定的字符,以及其他一些语言字符。如汉字.

2、标识符后的字符可以是(除条件一)“_”、“@”、“#”、“$”及数字。

3、标识符不允许是Transact-SQL的保留字。

4、标识符内不允许有空格和特殊字符。

另外,某些以特殊符号开头的标识符在SQLSERVER 中具有特定的含义。如以“@”开头的标识符表示这是一个局部变量或是一个函数的参数;以#开头的标识符表示这是一个临时表或是一存储过程。以“##”开头的表示这是一个全局的临时数据库对象。Transact-SQL的全局变量以“@@”开头。标识符最多可以容纳128个字符。

⑦ sql语句什么时候加引号

代表字段名的时候不加,代表字段值得时候如果是字符类型的时候加

⑧ Sql中,什么时候用单引号,什么时候用双引号,最好具体点,有效的话,一定采纳的

您好,提问者:
一般情况下,单引号用的多,双引号用的好。
插入、更新、删除、查询:
insert into xx(name) values('单引号');
delete from xx where name = '单引号';
select * from xx where name = '单引号';
update xx set name = '单引号' where id = 1;
下面是双引号情况:
select name as "姓名" from xx;

⑨ SQL中什么情况下用引号

除了数字类型为都应该用引号,如日期就应该用引号
'2012-12-12'
数字类型:bigint
bit
decimal
float
double
money
numric
real
smallint
tinyint
其他都应该加引号
如果变量是字符串类型,但要给它赋值时是数字的,可以不加引号,为了规范性,还是要用双引号
bit类型比较特殊,如果用脚本写的话,用1表示值,用0表示假,所以也可以不用双引号
如果变量是数字类型的,那给他赋值可以加双引号,但没有那个必要
希望回答对你有帮助

⑩ SQL中什么情况下用引号

除了数字类型为都应该用引号,如日期就应该用引号 '2012-12-12'
数字类型:bigint bit decimal float double money numric real smallint tinyint
其他都应该加引号
如果变量是字符串类型,但要给它赋值时是数字的,可以不加引号,为了规范性,还是要用双引号
bit类型比较特殊,如果用脚本写的话,用1表示值,用0表示假,所以也可以不用双引号
如果变量是数字类型的,那给他赋值可以加双引号,但没有那个必要

希望回答对你有帮助