VSCode本身不能运行SQL,必须安装SQLTools扩展、对应数据库驱动并手动激活连接;光标须在以分号结尾的完整语句内,状态栏绿色图标为连接唯一标识,任一环节出错即报错或无响应。

VSCode 本身不能运行 SQL 脚本,必须装对扩展、配对驱动、手动激活连接,三者缺一不可;光标位置、语句结尾、连接状态任一环节出错,都会导致“Query is empty”“no connection found”或静默无响应。
SQLTools 快捷键没反应?先确认光标和语句边界
默认快捷键 Ctrl+Alt+R(Win/Linux)或 Cmd+Alt+R(macOS)只在满足以下条件时才触发执行:
- 光标必须落在完整语句内部(不能在
-- 注释行、/* */块中、空行上,也不能在字符串字面量中间) - 语句必须以分号
;结尾(MySQL/PostgreSQL 驱动多数强制要求,漏写就判定为空) - 若要执行多条语句,必须用鼠标或键盘显式选中它们(支持跨行),否则只执行光标所在逻辑块(以分号或空行为界)
- 快捷键冲突时,可按
Ctrl+Shift+P手动输入SQLTools: Run Current Statement测试是否是绑定问题
连上了还报 “no connection found”?绿色图标才是唯一信号
配置完 connections.json ≠ 连接已激活。VS Code 不会自动连接,也不保留上次状态:
- 必须右键侧边栏 SQLTools 面板中的连接名 →
Connect,直到状态栏右下角出现绿色数据库图标和连接名 - 重启 VS Code、切换工作区、甚至 Git 分支后,都得重新
Connect - 一个
.sql文件可同时关联多个连接:选中某段语句 → 右键 →Run Current Statement in Connection,不依赖全局选中的连接 - 仅侧边栏显示连接名,不代表它已激活;状态栏图标消失或变灰,说明连接已断开
MySQL/PostgreSQL 连不上?重点查 host、database 和认证方式
本地开发最常卡在这三点,错误现象通常是 Connection refused 或 No database selected:
-
host别硬写localhost:Docker 用host.docker.internal,WSL2 查/etc/resolv.conf的nameserver,M1 Mac 有时得换127.0.0.1 -
database字段不能为空:MySQL 插件(如 cweijan 版)不设库名就默认无库上下文,SELECT * FROM users直接报错 - MySQL 8.0+ 默认用
caching_sha2_password认证:旧版驱动不支持,报Client does not support authentication protocol;需进命令行执行ALTER USER 'user'@'%' IDENTIFIED WITH mysql_native_password BY 'pass'; - 密码含
@、/等字符?必须 URL 编码,比如pass@123→pass%40123
driver 字段大小写敏感,且必须匹配已安装驱动名
填错大小写或名称,连接会静默失败,卡在 Connecting... 或报 Driver not found:
- PostgreSQL 驱动字段必须写
"driver": "PostgreSQL"(首字母大写,不是postgresql或postgres) - MySQL 写
"driver": "MySQL",SQLite 写"driver": "SQLite"(且不用填host/port) - SQLite 的
database路径是相对项目根目录的,不是当前文件所在目录;"./data.db"若从非根目录启动 VS Code,就会找不到文件 - 所有插件的
driver值大小写敏感,错一个字母就等于没配
真正容易被忽略的是:连接成功后,你执行的第一条语句很可能不是你想查的那张表——因为没指定 database,或者连接虽活但上下文为空。别急着写 SELECT,先看状态栏,再确认右上角连接下拉框里选的是哪个库。


















