2009-08-18 33 views

回答

14
thedata = open('thefile', 'rb').read() 
sql = "INSERT INTO sometable (theblobcolumn) VALUES (%s)" 
cursor.execute(sql, (thedata,)) 

當然該代碼工作,因爲只有寫,如果你的表中有剛的BLOB列,你想要做的是INSERT什麼 ,當然你可以很容易地調整它來添加更多的列, 使用UPDATE代替INSERT的內容,或者你確切需要做的事情。

我還假設你的文件是二進制而不是文本等;再次,如果我的猜測是 不正確,你很容易相應地調整上述代碼。

某種SELECTcursor.execute,那麼從遊標中取出某種東西,就是你如何檢索BLOB數據,就像你檢索任何其他類型的數據一樣。

+0

看來,MySQL已經開始警告這類事情。現在應該使用「... VALUES(** _ binary **%s)」 – Wodin 2016-04-26 10:29:32

0

您可以像插入其他列類型一樣從DB插入和讀取BLOB。從數據庫API的視圖來看,BLOB沒有什麼特別之處。

相關問題