vscode本身不能运行sql,必须安装正确扩展(如sqltools)、配置有效连接并手动激活连接;光标需置于以分号结尾的完整语句内,按ctrl+alt+r(win/linux)或cmd+alt+r(macos)执行,否则报“query is empty”或“no connection found”。

VSCode 本身不能运行 SQL 语句,必须装对扩展、配好连接、手动激活,三者缺一不可。 装错插件(比如只装了语法高亮)、漏点 Connect、或光标停在注释里按快捷键,都会导致“没反应”“Query is empty”“no connection found”这类问题。
SQLTools: Run Current Statement 快捷键不生效?
默认快捷键 Ctrl+Alt+R(Windows/Linux)或 Cmd+Alt+R(macOS)只在光标落在**完整语句内部**时才触发——不是任意位置都能用。
- 语句必须以分号
;结尾(部分驱动强制要求,比如 MySQL 驱动);没有分号可能被判定为空 - 光标不能在注释行(
--或/* */内)、空行、或字符串中间 - 想执行多条语句?必须先用鼠标/键盘选中它们(支持跨行),再按快捷键;否则只执行光标所在“逻辑块”(以分号或空行为界)
- 如果快捷键没反应,按
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 连不上?重点查 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;升级驱动或临时改用户认证方式 - 密码含
@、/等字符?必须 URL 编码,比如pass@123→pass%40123
真正容易被忽略的是:连接成功后,你执行的第一条语句很可能不是你想查的那张表——因为没指定 database,或者连接时选错了 schema,又或者光标根本不在有效语句上。别急着重装插件,先看状态栏有没有绿色图标、再看光标是不是稳稳停在带分号的 SELECT 里。











