在windows環境下安裝mysql子產品用于python開發,請見我的另一篇文章:
<a href="http://www.crazyant.net/2012/06/08/mysql-python-windows%E4%B8%8Bexe%E5%AE%89%E8%A3%85%E6%96%87%E4%BB%B6%E4%B8%8B%E8%BD%BD/" target="_blank">MySQL-python Windows下EXE安裝檔案下載下傳</a>
執行結果:
Database version : 5.5.25
主要還是在cursor上面執行execute方法來進行,請見源碼:
運作結果(在phpmyadmin中檢視,在mysql指令行檢視結果是一樣的):

這個恐怕是用的最多的了,請速看代碼:
運作結果:
(1L, ‘Jack London’) (2L, ‘Honore de Balzac’) (3L, ‘Lion Feuchtwanger’) (4L, ‘Emile Zola’) (5L, ‘Truman Capote’)
上面的代碼,用來将所有的結果取出,不過列印的時候是每行一個元祖列印,現在我們使用方法,取出其中的單個資料:
1 Jack London 2 Honore de Balzac 3 Lion Feuchtwanger 4 Emile Zola 5 Truman Capote
numrows = int(cur.rowcount) 用于擷取結果集的數目
row = cur.fetchone() 每次取出一行資料,同時記錄集的指針執行下一行
cur.description: ((‘Id’, 3, 1, 11, 11, 0, 0), (‘Name’, 253, 17, 25, 25, 0, 1)) Id Name
結果:
Number of rows updated: 1
有人喜歡把圖檔存入MYSQL(這種做法貌似很少吧),我看大部分的程式,圖檔都是存放在伺服器上的檔案,資料庫中存的隻是圖檔的位址而已,不過MYSQL是支援把圖檔存入資料庫的,也相應的有一個專門的字段BLOB (Binary Large Object),即較大的二進制對象字段,請看如下程式,注意測試圖檔自己随便找一個,位址要正确:
首先,在資料庫中建立一個表,用于存放圖檔:
然後運作如下PYTHON代碼進行:
escape_string函數将插入資料庫的字元串進行轉義,這會指一些SQL注入的攻擊
1、因為不存在writer表(SQL第三條語句),是以出現錯誤:
Error 1146: Table ‘test.writer’ doesn’t exist
2、出現錯誤,出發異常處理,3條語句的前兩條會自動變成了沒有執行,結果不變
3、如果本代碼放到一個MyISAM引擎表,前兩句會執行,第三句不會;如果是INNDB引擎,則都不會執行。
本文轉自 chengxuyonghu 51CTO部落格,原文連結:http://blog.51cto.com/6226001001/1576074,如需轉載請自行聯系原作者