#-*-coding: utf8 -*-
from connectdb import connectdatabase; #connectdatabase是我自己定義的乙個連線資料庫的函式
import mysqldb;
def escape():
cnn = connectdatabase();
cursor = cnn.cursor();
name = "\\";
name2 = "\""
#name = mysqldb.escape_string(name);
#name2 = mysqldb.escape_string(name2);
print name,name2;
queryli = [(12,name),(12,name2)]
print queryli;
#cursor.executemany("insert into resource(cid,name) values(%s, %s)",queryli);
cursor.execute("insert into resource(cid,name) values(%s, %s)" , (12,name) );
cursor.close();
cnn.commit();
cnn.close();
if __name__ == "__main__":
escape();
注意: 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 \
python MySQLdb學習筆記
mysqldb庫是python訪問mysql的連線庫,最近專案中需要使用,將學習使用所得整理如下。mysqldb windows下執行需要 libmysql.dll libmmd.dll 和 libguide40.dll 可以放在sitepackage下也可以在windows system32 學習...
python MySQLdb連線mysql失敗問題
mysql exceptions.operationalerror 2002,can t connect to local mysql 在很多種情況下,如果配置檔案沒有出錯的話,將機器重啟,確認關閉防火牆,確定啟動了mysql即可。網上很不錯講解 最近了解了一下django,資料庫選用了mysql,...
Python Mysqldb使用簡介
python db api使用流程 一 python查詢mysql使用 fetchone 方法獲取單條資料,使用fetchall 方法獲取多條資料。fetchone 該方法獲取下乙個查詢結果集。結果集是乙個物件 fetchall 接收全部的返回結果行.rowcount 這是乙個唯讀屬性,並返回執行e...