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) 進行轉換再寫入。
相關文章
相關標籤/搜索