You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从供应商.sql文件提取数据转CSV的技术求助

解决SQL文件提取数据转CSV及乱码问题

思路纠正

你的思路不完全准确:

  • 若该.sql文件是数据备份文件(含CREATE TABLE、INSERT INTO这类语句),无需连接供应商数据库,直接解析本地文件即可提取数据;
  • 若只是查询脚本(仅包含SELECT语句),才需要连接对应数据库执行脚本获取结果。

先解决乱码问题

打开文件出现乱码,优先处理编码适配:

  • 用Notepad++打开文件,在「编码」菜单中依次尝试「UTF-8」「GBK」「GB2312」「UTF-8 BOM」等编码重新加载,找到能完整显示所有内容的编码;
  • 确定编码后,将文件另存为该编码的新文件,避免后续解析出错。

分场景处理数据提取与CSV转换

场景1:SQL文件是数据备份(含建表、插入语句)

  • 用DBeaver搭建本地临时库处理:
    1. 新建SQLite连接(无需额外安装数据库服务),指定本地一个空的.db文件;
    2. 右键该连接→「执行SQL脚本」,选择处理好编码的.sql文件;
    3. 脚本执行完成后,找到目标数据表,右键→「导出数据」→选择CSV格式,设置分隔符、编码等参数后导出。
  • 若文件是MySQL格式备份,也可通过命令行处理:
    # 先导入到本地MySQL临时数据库
    mysql -u 用户名 -p 数据库名 < 处理好编码的文件.sql
    # 将目标表导出为CSV
    mysql -u 用户名 -p --batch --execute="SELECT * FROM 表名;" 数据库名 > 输出文件.csv
    

场景2:SQL文件是查询脚本(仅SELECT语句)

  • 配置DBeaver连接供应商数据库:
    1. 打开DBeaver→「新建连接」,选择对应数据库类型(MySQL、Oracle、SQL Server等);
    2. 填入供应商提供的地址、端口、用户名、密码、数据库名称,测试连接;
    3. 连接成功后,打开编码正确的SQL文件,执行所有查询语句;
    4. 对查询结果右键→「导出数据」→选择CSV格式完成导出。

关键注意点

  • 处理完编码后查看文件内容:若开头是CREATE TABLE+INSERT INTO则为备份文件;若全是SELECT语句则为查询脚本;
  • 若文件是加密或压缩格式,需先确认解密/解压方式后再处理。

内容的提问来源于stack exchange,提问作者Hope

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 04:19:53