vscode 本身不能直接运行 sql,需安装 sqltools 主扩展及对应数据库驱动插件(如 postgresql driver);配置通过 .vscode/sqltools.json 文件完成,执行用 ctrl+enter 快捷键。

VSCode 能直接运行 SQL 吗?不能,但可以靠扩展实现
VSCode 本身不带数据库连接能力,SQL 文件只是纯文本。想执行查询,必须装扩展来补足“连接 + 执行”这一环。最常用、维护活跃、支持主流数据库的是 SQLTools(配合对应驱动插件),不是 MySQL 或 PostgreSQL 官方扩展——后者往往只支持单库、更新慢、配置反直觉。
安装 SQLTools 及驱动插件的实操要点
别只装 SQLTools 主体,它像一个空壳,真正干活的是“驱动”(Driver)插件。装错或漏装会导致连接时提示 Driver not found 或 Cannot resolve driver。
- 先装主扩展:
SQLTools(作者:mtxr) - 再按你用的数据库装对应驱动:
- PostgreSQL → 装
SQLTools PostgreSQL Driver - MySQL/MariaDB → 装
SQLTools MySQL/MariaDB Driver - SQLite → 装
SQLTools SQLite Driver(注意:它依赖系统已安装的sqlite3命令行工具)
- PostgreSQL → 装
- 重启 VSCode —— 驱动插件不会热加载,不重启就识别不到
配置连接信息:URI 格式比图形表单更可靠
SQLTools 提供两种配置方式:GUI 表单和手动编辑 sqltools.json。GUI 容易漏填字段(比如 PostgreSQL 的 database 字段默认为空,不填就连不上),推荐直接改配置文件。
路径是:.vscode/sqltools.json(项目根目录下,没有就新建)。关键字段必须写全:
{
"connections": [
{
"name": "my-postgres",
"driver": "PostgreSQL",
"host": "localhost",
"port": 5432,
"database": "mydb",
"username": "postgres",
"password": "123456"
}
]
}
-
driver值必须和驱动插件名完全一致(大小写敏感),比如PostgreSQL不是postgres - SQLite 连接不用 host/port,只填
"driver": "SQLite"和"database": "./data.db"(路径为相对项目根目录) - 密码明文不安全?开发环境可接受;生产环境务必用环境变量或外部凭据管理器,SQLTools 支持
${env:PGPASSWORD}写法
执行查询:快捷键比右键菜单更快,且支持多行选中
连接成功后,打开任意 .sql 文件,光标放在语句内或选中一段,按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(Mac),输入 SQLTools: Run Current Statement 即可执行。但更高效的是绑定快捷键:
- 进 VSCode 设置 → 键盘快捷方式 → 搜索
sqltools.runCurrentStatement - 设为
Ctrl+Enter(避免和终端冲突) - 选中多行 SQL 时,它只执行光标所在语句(分号分隔),不是全部选中内容 —— 这点常被误以为“没反应”
- 结果默认在右侧弹出面板,如果没看到,检查 VSCode 窗口右下角有没有
SQLTools状态栏图标,点它可唤出结果面板
复杂点在于驱动兼容性:比如 MySQL 驱动对 DELIMITER 和存储过程支持弱,执行含 CREATE PROCEDURE 的脚本大概率报错;这类场景建议切到命令行客户端操作,VSCode 更适合查、改、建表等常规 DML/DDL。











