Sublime Text 无法直接连数据库执行 SQL,仅支持语法高亮、格式化和片段补全;SQL 高亮失效需手动设置语法或绑定扩展名;格式化依赖 SQLTools 或 sublime-sql-formatter 插件;字段补全需手动触发且不校验存在性;文件编码须为 UTF-8,连接配置错误会导致静默失败。

Sublime 本身不支持直接连数据库执行 SQL
别折腾插件去“运行查询”——Sublime Text 是纯文本编辑器,不是 DataGrip 或 DBeaver。它没有内置驱动、连接池或结果集渲染能力。所谓“配置数据库编辑环境”,实际只做三件事:语法高亮、格式化、片段补全。想点一下就查表?做不到。
SQL 语法高亮失效?检查文件关联和包安装
常见现象是打开 .sql 文件后关键字全是白色,或者被识别成其他语言(比如 Plain Text)。原因通常是:
- 没装官方
SQL语法包(Sublime 默认带,但可能被禁用) - 文件扩展名没绑定到
SQL语法(比如你用.pgsql或.mysql) - 第三方 SQL 插件冲突(如
SQLTools未启用或损坏)
手动修复: 右键编辑区 → Set Syntax → SQL;永久绑定:打开任意 .sql 文件 → 菜单栏 View → Syntax → Open all with current extension as…… → SQL。
SQL 格式化靠插件,但别装错名字
想自动缩进、换行、大写关键字?Sublime 原生不提供。必须装插件,但注意:SQLFormat(老版,Python 2 依赖已失效)、SQLBeautifier(维护差)、真正可用的是 SublimePrettyJson?不对——那是 JSON 的。正确选项是:SQLTools(含格式化)或轻量级的 SQL Formatter(GitHub 上搜 sublime-sql-formatter)。
安装后,选中 SQL 片段 → 右键 → Format SQL;或设快捷键,例如:{"keys": ["ctrl+alt+f"], "command": "sql_format" }。注意:格式化逻辑依赖正则,复杂嵌套 CTE 或窗口函数可能错排,别盲目信任输出。
写 SQL 时字段 / 表名补全要手动触发
Sublime 不会像 IDE 那样自动感知数据库 Schema。所谓“自动补全”,只是基于当前文件 + 已打开文件里的单词做模糊匹配。如果你写 SELECT u. 想弹出 user_id、username,默认不会出现。
- 按
ctrl+space强制唤出补全面板(显示本文件高频词) - 装
SQLTools后,需先配置连接信息(JSON 写死在SQLTools.sublime-settings),再手动执行SQLTools: Cache Schema命令,才可能补全表字段 - 补全结果不校验是否存在——输错表名照样给你列字段,运行时报错才是第一道验证
真要靠补全防手误?不如把建表语句也打开在另一个 tab 里,Ctrl+F 查字段更稳。
最常被忽略的一点:SQL 文件编码要是 UTF-8,否则中文注释或字段名乱码;还有,别在 SQLTools 里填错 host 和 port 还反复重试——它不会报“连接超时”,而是静默失败,让你以为补全功能坏了。