当前位置: 首页 > 面试题库 >

仅使用SQL将Blob从MySQL数据库导出到文件

符渊
2023-03-14
问题内容

我有一个表,其中的图像数据存储在MySQL数据库的blob字段中。有没有一种方法可以仅使用SQL将这些图像导出到文件系统上的文件?图片应命名为{imageId}
.jpg

我知道用Java或其他方法很容易做到这一点,但是仅用SQL脚本就能做到吗?


问题答案:

我不喜欢这个主意…

drop procedure if exists dump_image;
delimiter //
  create procedure dump_image()
  begin

    declare this_id int;
    declare cur1 cursor for select imageId from image;
    open cur1;
      read_loop: loop
        fetch cur1 into this_id;
        set @query = concat('select blob_field from image where imageId=', 
            this_id, ' into outfile "/tmp/xyz-', this_id,'.jpg"');
        prepare write_file from @query;
        execute write_file;
      end loop;
    close cur1;
  end //
delimiter ;

尽管有错误

mysql>调用dump_image();
错误1329(02000):无数据-提取,选择或处理了零行



ls -1 / tmp / xyz *


 类似资料:
  • 问题内容: 是否可以将数据从XML文件导入到SQL数据库,如果可以,该怎么做。我有一个包含约50000条目的XML文件,我必须创建一个可以操纵该数据(主要是读取和比较)的应用程序- 因此,我担心的是使用该数量的数据进行操纵(而且很可能未来还会有更多)将会非常缓慢且效率低下。如果您认为还有其他选择会更好,请告知。谢谢 问题答案: 您可以使用SQL Server导入和导出向导。您还可以查看SQL Se

  • 我有一个独立的H2服务器,正在收集数据。为了进行测试,我希望将数据从服务器中提取到CSV文件中。有什么工具吗?

  • 我正在尝试使用 azure databricks scala 将数据从 blob 存储加载到 SQL 数据仓库中。 我收到这个错误 潜在的SQLException:-com.microsoft.sqlserver.jdbc.SQLServerException:由于内部错误,外部文件访问失败:“访问HDFS时发生错误:Java调用HdfsBridge_IsDirExist时引发的异常。Java异常

  • 问题内容: 如何将查询结果从.sql数据库导出到.csv文件?我尝试过 我的.csv文件类似于: 但是它们不在sapated列中,而是全部在1列中。 我尝试自己创建一个.csv文件,只是为了尝试WEKA,如下所示: 但是WEKA将其视为一个属性。 因此:如何正确地将表从sql db导出到csv文件?我如何在WEKA中使用它? 编辑 是否可以添加带有列名称的标题行?我已经在网上阅读了一些内容,但无法

  • 问题内容: 我有一个包含一堆文件的目录,这些文件由mysql转储到服务器上的每个数据库。 例如 实际上有很多。 我需要创建一个shell脚本或单行,可能会导入每个数据库。 我在Linux Debian机器上运行。 我认为有某种方法可以将ls的结果传递到一些find命令或其他内容中。 非常感谢任何帮助和教育。 编辑 所以最终我想一次自动将一个文件导入数据库。 例如,如果我手动执行一项操作,它将是:

  • 问题内容: 我已经搜索了很多有关此问题的信息,但是我没有针对我的问题找到合适的解决方案,我有以下使用Java存储文件的方法, 当我尝试运行此代码时,出现以下错误, 请帮助我。 问题答案: 将文件数据转换为字节数组并在sql语句中设置