繁体   English   中英

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

[英]How to insert / retrieve a file stored as a BLOB in a MySQL db using python

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

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

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

当然,只有当你的表只有BLOB列并且你想要做的是INSERT时,该代码才能正常编写,当然你可以轻松调整它以添加更多列,使用UPDATE而不是INSERT,或者不管你是什么确切需要做。

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

cursor.execute上的某种SELECT ,然后从游标中获取某种类型,就是如何检索BLOB数据,就像检索任何其他类型的数据一样。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM