說明:#-*-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連線資料庫
今天無事想弄下python做個gui開發,最近發布的是python 3k,用到了資料庫,通過搜尋發現有乙個mysqldb這樣的控制項,可以使用,就去官方看了下結果,沒有2.6以上的版本 file c python26 lib site packages mysqldb init py line 19...
Python MySQLdb庫的一點說明 01
sudo easy install mysql python 1 usr bin env python2 coding utf 8 3import mysqldb 4 conn mysqldb.connect localhost root rootpass oj charset utf8 5 cur...
Python MySqlDB 增刪修改資料庫
安裝後import mysqldb會出現 deprecationwarning the sets module is deprecated 這樣乙個警告,google之 原因是2.6不知sets這個模組,不過已經新增了set內建函式。找到mysqldb資料夾的中 init py,注釋掉from se...