SQL 文件执行
选择连接后执行 .sql 文件,查看进度,并在需要时取消后续语句。
SQL 文件执行用于导入或运行本地 .sql 脚本。它适合执行初始化脚本、数据补丁、数据库导出文件和迁移脚本。
执行 SQL 文件可能修改大量数据或结构。运行前请确认目标连接、目标数据库和脚本来源,生产环境建议先备份。
使用流程
打开 SQL 文件执行
在 DBX 中打开 SQL 文件执行面板。
选择文件
选择本地 .sql 文件。大文件可能需要更长解析和执行时间。
选择目标连接
选择要执行脚本的数据库连接和数据库。
开始执行
点击执行后,DBX 会按语句执行并显示进度。
检查结果
执行结束后查看成功数量、失败语句和错误信息。
语句分割
DBX 会按流式方式读取 SQL 文件,并尽量正确识别语句边界,避免简单按每个分号拆分:
- 字符串中的分号不会被当作语句结束
- 行注释和块注释中的分号不会被当作语句结束
- PostgreSQL 的 dollar-quoted 函数体会保持为同一条语句
- SQL Server 的
GO行会被识别为批次分隔 - MySQL executable comments 会在导入前按目标连接处理:MySQL 兼容连接会展开可执行内容,非 MySQL 连接会跳过;
ENABLE/DISABLE KEYS、LOCK/UNLOCK TABLES、session 状态恢复这类导入辅助指令会跳过
数据库覆盖范围
SQL 文件执行面向 SQL 类数据库。Redis、MongoDB 和 Elasticsearch 不执行关系型 SQL 脚本,因此 DBX 会隐藏或禁用该功能。
错误处理
默认情况下,执行遇到错误会停止。你也可以启用“遇错继续”,让 DBX 继续执行后续语句并记录失败数量。
取消执行
执行过程中可以取消任务。取消只会阻止后续语句继续执行,已经提交到数据库的语句不会自动回滚。
如果脚本需要整体原子性,建议脚本本身包含事务控制,并确认目标数据库支持相关事务语义。
执行前检查
- 当前连接是否是预期环境
- 脚本是否来自可信来源
- 是否包含
DROP、TRUNCATE、大范围UPDATE或DELETE - 是否需要先在测试环境执行
- 是否需要启用“遇错继续”
- 是否需要先使用 数据库导出 备份