打算将文本文件内容添加至MySQL数据库,则需要对文本中的单引号和换行符进行转义,否则无法编写合法的SQL。
-
迭代文本文件的行时,将原行尾的换行符剔除掉,并拼接
\\n
;
-
迭代文本文件的行时,将原行中的
'
替换成
''
。
Python示例代码如下:
content = ""
for line in mdfile.readlines():
content += line.strip().replace("'","''") + "\\n"
- sql的转义字符单引号
问题打算将文本文件内容添加至MySQL数据库,则需要对文件中的单引号和换行符进行转义,否则无法编写合法的SQL。解法迭代文本文件的行时,将原行尾的换行符剔除掉,并拼接\\n;迭代文本文件的行时,将原行中的'替换成''。示例代码如下:content = ""for line in mdfile.readlines(): content += line.strip().replace("'","''") + "\\n"参考sql的转义字符单引号...
之前写了篇文章《Oracle转义字符》,说到了Oracle中单引号“’”的转义字符是单引号“’”,那么其他的特殊字符的转义字符又是什么呢,如模糊查询的占位符“%”,“_”等。
经过测试,在Oracle中不能再使用单引号“’”来转义“%”,“_”了,而是用反斜杠“”,不仅如此,还要声明反斜杠“”是转义字符。
假设表为tb,字段为col,要在col中查询包含“%”或“_”字符的字段,sql如下:
– Oracle
select * from tb where col like '%\%%' or col like '%\_%' escape ''
sql中“escap
1、单引号字符串和转义符
字符串和数字一样都是值,可以直接使用,在python控制台中直接输入字符串,如“hello world”,会按原样输出该字符串,只不过用单引号扩了起来
>>> "Hello World"
'Hello World'
那么用双引号和单引号括起来的字符串有什么区别呢?其实没有任何区别,只不过在输出单引号或双引号时方便而已。例如,在python...
单引号双重角色——字符串引用与转义
在ORACLE中,单引号有两个作用,一是字符串是由单引号引用,二是转义,开始学习时动态构成SQL时经常不解。单引号的使用是就近配对,即就近原则。而在单引号充当转义角色时相对不好理解。
1、从第二个单引号开始被视为转义符,如果第二个单引号后面还有单引号(哪怕只有一个)。
SQL> SELECT '''' FROM DUAL;
很明显,报错了,因为它单独把"lisi"当作一个字符串来进行匹配了,而不是"lisi's"这个字符串。
解决就是将单引号进行转义,在SQL中将单引号进行转义的字符也是一个单引号。
所以将"lisi's"改为"lisi''s",在原来的基础上添加一个单引号,对原单引号进行转..
例:select * from tbl where uyear=”’06’
请注意其中红色背景的单引号,它即表示转义字符,如果我们省略,则整个语句会出错,转义字符不会输出,上例中 uyear 的实际条件值为 ‘06,而不是 ”06
为什么不能省略呢,假如我们省略,上句变成:select * from tbl where uyear=”06’
由于在 SQ
1、
单引号 '
转义
今天写my
sql的时候遇到一个问题,当传入的my
sql语句的参数
中含有
单引号就会出现问题,这久需要用到
转义,其实非常简单,就是使用 .Replace("'", "''") 把参数
中的一个
单引号替换为两个
单引号 。
具体使用:
select '''测试' as test
运行结果:
如果 a正常传值 的话这条
sql是正常的。但是如果a传递的值不正常 。例如 a=" 张三’ "
这时候
sql 就变成了
select * from student where name like '%张三'%'
这时候需要把 “ ’ ” 这个
单引号转义
if(a.contains("'"))
在SQL中,单引号和双引号都用于表示字符串。一般来说,单引号用于表示字符串常量,而双引号用于表示列名或表名。
例如,下面的语句中,'John'和'Mary'都是字符串常量,需要用单引号括起来:
SELECT * FROM customers WHERE name = 'John' OR name = 'Mary';
而下面的语句中,"name"是一个列名,需要用双引号括起来:
SELECT "name", age FROM customers;
需要注意的是,不同的数据库管理系统对单引号和双引号的使用可能有所不同。有些系统可能只支持单引号,有些系统可能只支持双引号,还有些系统可能同时支持单引号和双引号。因此,在编写SQL语句时,需要根据具体的数据库管理系统来选择使用哪种引号。