连接成功后,vs code 左侧数据库面板显示实心连接名并可逐级展开库、表,且在 .sql 文件中执行查询能返回结果;否则仅为配置保存或缓存元数据。

连接成功后 VS Code 里能看到什么
VS Code 本身不带数据库功能,装了插件(比如 MySQL by cweijan)并填对信息后,“连接成功”不是弹个提示框就完事——它体现在左侧数据库面板的可视化结构上。
- 点击左侧
Database图标,出现你刚配的连接名(如localhost:3306),且图标是实心、非灰色禁用状态 - 点开连接名,能展开看到一串数据库列表(如
mysql、information_schema、你自己的eshop) - 再点开某个库,能看到里面的表(
t_user、t_order等),右键能选Select Top 1000或View Definition - 新建一个
.sql文件,写SHOW TABLES;,光标在文件内,按Ctrl+Alt+E或右键选Execute Query,下方输出面板显示表格结果 —— 这才是真连上了
测试连接失败的常见假象
很多人点完 Save 或 Connect 没报错,就以为连上了,其实只是配置保存成功,不代表实时通了。真正容易误判的情况有:
- 插件显示“Test connection succeeded”,但之后展开数据库列表为空 → 很可能是权限问题:
user没被授权访问任何库,或SHOW DATABASES权限被禁用 - 能展开库列表,但点开某个库后没表、右键菜单灰掉 → 可能是
database字段填错了(比如填了不存在的库名),或者该用户对该库无SELECT权限 - 执行
SELECT * FROM t_user;报错Error: Table 'xxx.t_user' doesn't exist→ 表名存在但大小写敏感(Linux MySQL 默认区分),而你在 Windows 下建的表名是小写,查询时写了大写 - 插件卡在“Loading…”半天不动 → 大概率是 MySQL 服务根本没起来,或防火墙/SSH 隧道没通(云数据库尤其要注意 host 填
127.0.0.1而非公网地址)
为什么必须在 .sql 文件里执行才能验证
VS Code 的 MySQL 插件不会自动为你保持活跃会话;它只在你主动执行 SQL 时才建立临时连接。这意味着:
基于jsp+javabean+access(mysql)三层结构的动态购物网站,v1.2包含v1.0中未公开的数据库连接 的java源文件 一,网站前台功能: 产品二级分类展示:一级分类--二级分类--产品列表--详细介绍(名称,图片,市场价,会员价,是否推荐,功能介绍等) 产品搜索:关键字模糊搜索 定购产品:选择商品--确认定购--填写收货人信息--选择付款方式--订单号自动生成(限登录用户)
- 即使数据库图标是展开状态,也不代表当前有活连接 —— 它只是缓存了上次成功的元数据
- 只有在
.sql文件中执行语句时,插件才会发起真实请求,并把错误(如Access denied、Connection refused)打在输出面板里 - 如果执行时报
Command 'mysql' not found,说明插件依赖本地mysqlCLI,但系统 PATH 里没有,得手动装 MySQL 官方客户端或加软链 - 光标不在
.sql文件里时,Ctrl+Alt+E会静默失效,不报错也不执行 —— 这是最常被忽略的操作前提
连接成功但查不到中文字段/表名补全
这不是连接失败,而是插件能力限制:cweijan 的 MySQL 插件明确不支持中文表名或字段名的自动补全和语法识别。
- 如果你建了
用户表或字段叫用户名,插件不会在输入SELECT * FROM后弹出建议,也不会高亮 - 但只要语句本身合法(如
SELECT `用户名` FROM `用户表`;),执行是完全没问题的 - 想获得完整补全体验,得换用支持 JDBC 的插件(如
Database Client),但它需要额外配驱动,对新手反而更重 - 更实际的做法:开发阶段统一用英文命名,上线前再用视图或注释补充中文含义
连上只是第一步,真正的验证永远落在“能不能跑出第一行结果”。很多问题藏在权限、路径、文件类型这些不起眼的地方,而不是连接表单里那几个字段。









