Python MySQLdb庫的一點說明 02

2021-06-16 22:48:51 字數 1313 閱讀 1716

#-*-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...