14

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

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

4

2 回答 2

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

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

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

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

于 2009-08-18T15:09:15.813 回答
0

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

于 2009-08-18T15:07:42.480 回答