sublime text 本身不能运行 sql 脚本,本质是通过构建系统或 sqltools 插件调用 mysql、psql 等 cli 工具执行;ctrl+b 无反应或报 “[errno 2] no such file or directory” 是因未安装对应客户端或 build system 配置错误(如 path 未生效、缺 "shell": true、变量写错)。

Sublime Text 本身不能运行 SQL 脚本,所谓“安装 SQL 脚本运行终端”,本质是配置外部 CLI 工具(如 mysql、psql、sqlcmd)+ 构建系统(Build System)或插件(如 SQLTools),让编辑器能调用它们执行当前 .sql 文件。
为什么按 Ctrl+B 没反应,或者报错 “Invalid command”?
这是最常遇到的问题——根本原因不是 Sublime 坏了,而是没装对应数据库客户端,或没配好 Build System。
-
Ctrl+B触发的是构建系统,不是终端,它默认不认mysql这类命令,除非你明确告诉它怎么调用 - 错误信息
[Errno 2] No such file or directory表示 Sublime 找不到mysql或psql,不是脚本问题,是 PATH 没生效 - Windows 下如果没加
"shell": true,mysql命令大概率失败;macOS/Linux 则通常不需要 - 别在 Build System 里写
$file_path——正确变量是$file;漏掉引号或拼错大小写也会静默失败
怎么配一个能跑 MySQL 的 Build System?
适合单文件快速执行,比如调试建表语句或小批量 INSERT。前提是本地已装 MySQL 客户端且 mysql --version 能成功输出。
- 菜单栏 →
Tools > Build System > New Build System - 填入以下内容(注意替换用户名、密码、数据库名):
{ "cmd": ["mysql", "-u", "root", "-prootpass", "mydb", "-e", "source $file"], "selector": "source.sql", "shell": true } - 保存为
MySQL.sublime-build,之后打开.sql文件,Ctrl+B就会执行该文件全部语句 - 如果密码含
@、$等字符,不用转义,但整个密码必须用双引号包裹,例如"-pMy@Pass123" - 想只执行选中部分?Build System 默认不支持——得换
SQLTools插件,它能高亮选区并发送到 CLI
SQLTools 插件连不上 SQL Server 怎么办?
90% 的失败集中在 sqlcmd 未就绪或配置字段写错,不是插件问题。
- 先在终端敲
sqlcmd -?(Windows)或sqlcmd --help(macOS/Linux),有输出才说明装好了 - 确认
sqlcmd所在路径已加入系统 PATH,且 Sublime 是从 shell 启动的(macOS/Linux 尤其要注意:用终端执行subl启动,而非桌面图标) -
SQLTools配置里"type"字段必须是"mssql",不是"sqlserver"、"ms-sql"或空值 -
"host"别写localhost(Windows 默认走命名管道,sqlcmd会超时),换成"127.0.0.1"或真实 IP - 连接成功后状态栏显示
Connected to my_prod,否则右键 →SQLTools: Connect to…不会弹出任何提示
真正卡住的地方往往不在 Sublime 设置,而在 sqlcmd 或 mysql 是否真能连上数据库——建议先抛开编辑器,在终端里手动跑一遍命令,验证账号、网络、端口、防火墙全通了,再回头配 Sublime。否则所有配置都是空中楼阁。











