一尘不染

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

mysql

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

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


阅读 1042

收藏
2020-05-17

共1个答案

一尘不染

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

仅当表仅具有BLOB列并且您要执行的操作是INSERT时,该代码才能正常工作,但是您当然可以轻松地对其进行调整以添加更多的列,使用UPDATE而不是INSERT或您执行的任何操作确实需要做。

我还假设您的文件是二进制文件,而不是文本文件;等等。同样,如果我的猜测不正确,您可以轻松地相应地调整上面的代码。

某种形式的SELECTon cursor.execute,然后某种形式的从游标中获取,是您检索BLOB数据的方式,就像您检索任何其他种类的数据一样。

2020-05-17