# -*- coding: UTF-8 -*-
# 來源:瘋狂的螞蟻的博客總結(jié)整理
import MySQLdb as mdb
import sys
try:
#用讀文件模式打開圖片
fin = open("../web.jpg")
#將文本讀入img對象中
img = fin.read()
#關(guān)閉文件
fin.close()
except IOError, e:
#如果出錯,打印錯誤信息
print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)
try:
#鏈接mysql,獲取對象
conn = mdb.connect(host='localhost',user='root',passwd='root', db='test')
#獲取執(zhí)行cursor
cursor = conn.cursor()
#直接將數(shù)據(jù)作為字符串,插入數(shù)據(jù)庫
cursor.execute("INSERT INTO Images SET Data='%s'" % mdb.escape_string(img))
#提交數(shù)據(jù)
conn.commit()
#提交之后,再關(guān)閉cursor和鏈接
cursor.close()
conn.close()
except mdb.Error, e:
#若出現(xiàn)異常,打印信息
print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)
# -*- coding: UTF-8 -*-
# 來源:瘋狂的螞蟻的博客總結(jié)整理
import MySQLdb as mdb
import sys
try:
#連接mysql,獲取連接的對象
conn = mdb.connect('localhost', 'root', 'root', 'test');
cursor = conn.cursor()
#執(zhí)行查詢該圖片字段的SQL
cursor.execute("SELECT Data FROM Images LIMIT 1")
#使用二進(jìn)制寫文件的方法,打開一個圖片文件,若不存在則自動創(chuàng)建
fout = open('image.png','wb')
#直接將數(shù)據(jù)如文件
fout.write(cursor.fetchone()[0])
#關(guān)閉寫入的文件
fout.close()
#釋放查詢數(shù)據(jù)的資源
cursor.close()
conn.close()
except IOError, e:
#捕獲IO的異常 ,主要是文件寫入會發(fā)生錯誤
print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)
--------------------------------------------------------------------------------------
實(shí)例9、使用Transaction即事務(wù)(手動提交,自動回滾)
# -*- coding: UTF-8 -*-
# 來源:瘋狂的螞蟻的博客總結(jié)整理
import MySQLdb as mdb
import sys
try:
#連接mysql,獲取連接的對象
conn = mdb.connect('localhost', 'root', 'root', 'test');
cursor = conn.cursor()
#如果某個數(shù)據(jù)庫支持事務(wù),會自動開啟
#這里用的是MYSQL,所以會自動開啟事務(wù)(若是MYISM引擎則不會)
cursor.execute("UPDATE Writers SET Name = %s WHERE Id = %s",
("Leo Tolstoy", "1"))
cursor.execute("UPDATE Writers SET Name = %s WHERE Id = %s",
("Boris Pasternak", "2"))
cursor.execute("UPDATE Writer SET Name = %s WHERE Id = %s",
("Leonid Leonov", "3"))
#事務(wù)的特性1、原子性的手動提交
conn.commit()
cursor.close()
conn.close()
except mdb.Error, e:
#如果出現(xiàn)了錯誤,那么可以回滾,就是上面的三條語句要么執(zhí)行,要么都不執(zhí)行
conn.rollback()
print "Error %d: %s" % (e.args[0],e.args[1])
--------------------------------------------------------------------------------------
來自:http://www.jb51.net/article/34102.htm