python向mysql插入特殊字符

MySQL数据库插入数据时常常会碰到一些特殊字符,如单引号,双引号。python

name = "\\"; 
name2 = "\""
注意: cursor.execute()能够接受一个参数,也能够接受两个参数:
(1) cursor.execute("insert into resource(cid,name) values(%s, %s)" , (12,name) );
    这种格式是接受两个参数,MySQLdb会自动替你对字符串进行转义和加引号,没必要再本身进行转义,执行完此语句以后,resource表中多了一条记录: 12   \
(2) cursor.execute("insert into resource(cid,name) values(%s, %s)" % (12,name) );
    这种格式是利用python的字符串格式化本身生成一个query,也就是传给execute一个参数,此时必须本身对字符串转义和增长引号,即上边的语句是错误的,应该修改成:
    name = MySQLdb.escape_string(name);
    cursor.execute("insert into resource(cid,name) values(%s, '%s')" % (12,name) );
    这样插入的记录才和(1)同样:12   \
(3)若是是命令行sql语句,咱们能够先对变量 MySQLdb.escape_string(name) 进行转换再写入。
相关文章
相关标签/搜索