【问题标题】:How to insert / retrieve a file stored as a BLOB in a MySQL db using python如何使用 python 在 MySQL 数据库中插入/检索存储为 BLOB 的文件
【发布时间】:2010-11-20 15:09:31
【问题描述】:

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

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

【问题讨论】:

    标签: python mysql file-io blob


    【解决方案1】:
    thedata = open('thefile', 'rb').read()
    sql = "INSERT INTO sometable (theblobcolumn) VALUES (%s)"
    cursor.execute(sql, (thedata,))
    

    该代码当然只有在您的表只有 BLOB 列时才能正常工作 你想做的是插入,但当然你可以很容易地调整它来添加更多的列, 使用 UPDATE 而不是 INSERT,或者您确实需要做的任何事情。

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

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

    【讨论】:

    • 看来,MySQL 已经开始警告这种事情了。现在应该使用“... VALUES (_binary %s)”
    【解决方案2】:

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

    【讨论】:

    • 如果 blob 有 pdf?
    猜你喜欢
    • 2019-05-10
    • 2012-03-17
    • 2012-06-10
    • 2023-03-09
    • 2018-11-28
    • 2011-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多