如何使用python在MySQL数据库中插入/检索存储为BLOB的文件

时间:2009-08-18 14:50:58

标签: python mysql file-io blob

我想编写一个python脚本,用一些信息填充数据库。我表中的一列是BLOB,我想为每个条目保存一个文件。

如何读取文件(二进制文件)并使用python将其插入数据库?同样,我如何检索它并将该文件写回硬盘上的某个任意位置?

2 个答案:

答案 0 :(得分:15)

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

该代码当然只有在您的表只有BLOB列和什么时才能编写 你想要做的是INSERT,但当然你可以轻松调整它以添加更多列, 使用UPDATE而不是INSERT,或者你需要做的任何事情。

我也假设你的文件是二进制而不是文本等;再次,如果我的猜测是 不正确的,你很容易相应地调整上面的代码。

某些SELECTcursor.execute上,然后从光标中获取某种类型,就是你的方式 检索BLOB数据,就像检索任何其他类型的数据一样。

答案 1 :(得分:0)

您可以像其他所有列类型一样从DB插入和读取BLOB。从数据库API的角度来看,BLOB没什么特别的。