mysql字符转义

Mysql 字符转义

在字符串中,某些序列具有特殊含义。这些序列均用反斜线(‘\’)开始,即所谓的转义字符。MySQL识别下面的转义序列:

\0

ASCII 0(NUL)字符。

\'

单引号(‘'’)。

\"

双引号(‘"’)。

\b

退格符。

\n

换行符。

\r

回车符。

\t

tab字符。

\Z

ASCII 26(控制(Ctrl)-Z)。该字符可以编码为‘\Z’,以允许你解决在Windows中ASCII 26代表文件结尾这一问题。(如果你试图使用mysql db_name < file_name,ASCII 26会带来问题)。

\\

反斜线(‘\’)字符。

\%

‘%’字符。参见表后面的注解。

\_

‘_’字符。参见表后面的注解。

这些序列对大小写敏感。例如,‘\b’解释为退格,但‘\B’解释为‘B’。


在python程序中,如果字符串中出现了特殊字符,就需要对其进行转义。

"""
将需要更新的description的信息生成sql语句 并写入文本文件
"""
import pymysql
import pandas as pd
df = pd.DataFrame(pd.read_excel("整理导入到系统的desc描述信息1129.xlsx"))
print(df.info())
for i in df.index:
    product_id = df.loc[i,"product_id"]
    desc = str(df.loc[i,"new_description"])
    desc = desc.replace("\\","\\\\")
    desc = desc.replace("\'","\\\'")
    desc = desc.replace("\"","\\\"")
    desc = desc.replace("\n\n","\\n")
    desc = desc.replace("\r\n","\\n")
    desc = desc.replace("\n","\\n")
    desc = desc.replace("\t","\\t")
    desc = "'"+desc+"'"
    df.loc[i,"r_desc"] = desc
    sql = 'update p_attribute set ga_desc =%s where product_id = %d;'%(desc,product_id)
    df.loc[i,"sql_desc"] = sql
df.to_excel("晴雨挡延伸描述转义后sql语句1129.xlsx",index=False)
with open("晴雨挡延伸描述sql语句.txt","w",encoding="utf-8") as fp:
    dfsql = df["sql_desc"]
    for sql in dfsql:
        fp.write(sql+"\n\n")





你可能感兴趣的:(工作相关)