优先安装sqltools插件,因其是唯一同时支持多库连接、语句执行、结果展示、自动补全及错误提示的插件;sublimesql已停更,sqlbeautify仅限格式化,功能单薄。

Sublime Text 本身不内置 SQL 支持,但装对插件后能直接执行查询、高亮语法、格式化语句、管理连接——关键不是“多”,而是选准 SQLTools 这一个主力插件,其他按需补位。
为什么优先装 SQLTools 而不是 SublimeSQL 或 SQLBeautify
SQLTools 是目前唯一同时满足「连接多数据库 + 执行语句 + 显示结果集 + 自动补全 + 错误提示」的插件,SublimeSQL 已多年未更新(最后 commit 在 2021 年),在 ST4 上常卡死命令面板;SQLBeautify 只做格式化,功能太单薄。你真正需要的是一个可交互的轻量 SQL IDE,不是美化器或旧版连接器。
-
SQLTools支持 MySQL、PostgreSQL、SQLite、SQL Server、Oracle(通过 ODBC)、DuckDB 等,连接配置写在SQLTools.sublime-settings里,纯 JSON,无 GUI 向导干扰 - 它复用 Sublime 的原生 build system,执行时自动开新 tab 显示结果,支持 Ctrl+Enter 单行执行、Shift+Enter 全文执行
- 自动补全是基于 schema 缓存的,首次连接后会拉取表结构,后续离线也能提示字段名
- 不依赖 Python 插件宿主(plugin_host)以外的额外进程,比靠 shell 脚本调用
psql或mysql命令的方案更稳定
SQLTools 安装失败的三个常见原因
不是插件本身有问题,而是 Package Control 没真生效,或 ST4 版本兼容没对上。
- 控制台执行安装脚本后只显示
reloading plugin——说明脚本没跑完,ST4 必须用https://packagecontrol.io/installation.py地址,旧的http://packagecontrol.io/...会被重定向或拦截 - 按
Ctrl+Shift+P输入Package Control: Install Package后空白或报错No such command——代表 Package Control 没装进Installed Packages/目录,手动下载Package Control.sublime-package文件拖入该目录(不是Packages/)再重启 - 装完
SQLTools后命令面板搜不到SQLTools: Connect——检查是否误装了SQLTools Beta(已废弃),正确包名是纯SQLTools,大小约 380KB,安装后会在Packages/SQLTools/下生成lib/和syntaxes/子目录
连接 PostgreSQL/MySQL 前必须配的三项
SQLTools 不自动猜驱动,每个数据库类型要显式指定 driver 和 connection string 格式。
- PostgreSQL:driver 设为
pg8000(纯 Python,免 C 编译),connection string 示例:postgresql://user:pass@localhost:5432/dbname;若用 SSL,加?sslmode=require - MySQL:driver 设为
pymysql(非mysqlclient,后者需本地编译),connection string 示例:mysql+pymysql://user:pass@localhost:3306/dbname?charset=utf8mb4 - SQLite:driver 设为
sqlite3(Python 内置),connection string 就是文件路径,如sqlite:///./data.db,注意三个斜杠 - 所有连接配置写在
Preferences → Package Settings → SQLTools → Settings里,不要改Default文件,改User那个
格式化 SQL 别用 SQLBeautify,用 SQLTools 自带快捷键
SQLTools 内置格式化能力,比独立插件更可控,且适配你当前连接的方言(比如 PostgreSQL 的 ILIKE 不会被误转成 LIKE)。
- 选中 SQL 片段 → 按
Ctrl+Shift+F(Windows/Linux)或Cmd+Shift+F(macOS),即调用SQLTools: Format SQL - 支持缩进风格切换:在
SQLTools.sublime-settings里设"indent_style": "spaces"或"tabs",默认 2 空格 - 如果格式化后关键字没大写,检查
"uppercase_keywords": true是否开启,这个开关默认关着 - 别把
SQLBeautify和SQLTools同时装——两者都监听Ctrl+Shift+B,冲突后快捷键失效,且SQLBeautify不识别 WITH RECURSIVE 等现代语法
最易被忽略的是连接字符串里的协议前缀和参数分隔符:少一个 p(mysql vs mysql+pymysql)、漏掉 ?、路径用反斜杠(Windows)没转义,都会导致连接静默失败,连错误提示都不弹——得去 Sublime 控制台(Ctrl+`)翻 SQLTools 的日志才能看到真实报错。











