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

Rya*_*anY 13 python mysql file-io blob

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

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

Ale*_*lli 15

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

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

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

某种SELECTcursor.execute,然后某种从游标中读取的,是你如何检索BLOB数据,酷似您检索任何其他类型的数据.