如何使用 python 在 MySQL 数据库中插入/检索以 BLOB 形式存储的文件
我想编写一个 python 脚本,用一些信息填充数据库。我的表中的一列是一个 BLOB,我想为每个条目保存一个文件。
如何使用 python 读取文件(二进制)并将其插入数据库?同样,我如何检索它并将该文件写回硬盘驱动器上的某个任意位置?
I want to write a python script that populates a database with some information. One of the columns in my table is a BLOB that I would like to save a file to for each entry.
How can I read the file (binary) and insert it into the DB using python? Likewise, how can I retrieve it and write that file back to some arbitrary location on the hard drive?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当然,只有当您的表只有 BLOB 列以及什么时,该代码才可以按编写的方式工作
你想要做的是 INSERT,但当然你可以轻松地调整它以添加更多列,
使用 UPDATE 而不是 INSERT,或者任何您确实需要做的事情。
我还假设您的文件是二进制文件而不是文本等;再说一次,如果我的猜测是
不正确,您很容易相应地调整上面的代码。
在
cursor.execute
上执行某种SELECT
,然后从游标中获取某种信息,这就是您的方式检索 BLOB 数据,就像检索任何其他类型的数据一样。
That code of course works as written only if your table has just the BLOB column and what
you want to do is INSERT, but of course you could easily tweak it to add more columns,
use UPDATE instead of INSERT, or whatever it is that you exactly need to do.
I'm also assuming your file is binary rather than text, etc; again, if my guesses are
incorrect it's easy for you to tweak the above code accordingly.
Some kind of
SELECT
oncursor.execute
, then some kind of fetching from the cursor, is how youretrieve BLOB data, exactly like you retrieve any other kind of data.
您可以像其他列类型一样插入和读取数据库中的 BLOB。从数据库 API 的角度来看,BLOB 没有什么特别之处。
You can insert and read BLOBs from a DB like every other column type. From the database API's view there is nothing special about BLOBs.