Database Client(cweijan版)最适合VSCode中查看MySQL表结构,因其原生支持5.7~8.4及caching_sha2_password认证,填完host/port/user/password/database即可展开表、双击看注释、右键生成带库前缀的SELECT语句,无需驱动、不卡连接、不报协议错误;而SQLTools需额外安装且易因驱动缺失或错配导致结构树无法加载。

VSCode 里看 MySQL 表结构,用 Database Client(cweijan 版)最直接——不用装驱动、不改服务端、填完 host/port/user/password/database 就能点开表、双击字段看注释、右键生成 SELECT,整个过程不卡在 “Connecting…” 也不报 Client does not support authentication protocol。
为什么 Database Client 比 SQLTools 更适合单库查结构
SQLTools 是个壳,真正读表结构靠 SQLTools MySQL/MariaDB Driver;没装驱动或装错版本(比如搜到 mysql-connector-net),连接成功也看不到表,侧边栏卡在数据库名不动。而 Database Client 把 MySQL 5.7~8.4 的协议栈全打包进去了,caching_sha2_password 认证原生支持,连上就能展开表、自动刷新字段列表。
- 它不读
~/.sqltools/config.json,所有配置都在图形界面里填,换设备重装插件后不用导配置 - 右键表 →
Generate SELECT statement,生成的语句自动带数据库前缀(如myapp_dev.users),避免Table 'users' doesn't exist - 双击字段名直接弹出注释(
COMMENT内容),比手写SHOW CREATE TABLE快,且不会被截断
Database Client 连接时哪些字段不能空、填错就看不到表
填错 host 或漏填 database 是“能看到数据库名但点不开表”的头号原因。MySQL 没默认 schema 概念,插件必须知道你在哪个库下查表。
-
Host:本地开发统一填127.0.0.1(别用localhost,否则可能走 Unix socket 而失败) -
Port:确认是 TCP 端口(默认3306),不是 X Protocol 的33060 -
Password:空密码也得手动删掉再留空,否则静默失败 -
Database:必须填具体库名(如myapp_dev),留空会导致所有表查询报no database selected
表展开了但点不开字段、执行 SELECT 报错?检查权限和默认 Schema
看到表名 ≠ 有权限查字段。常见现象:展开数据库后能看到 users 表,但双击无反应,或执行 SELECT * FROM users; 报 Table 'users' doesn't exist。
- 用户权限只给了
myapp_dev.*,但连接时填的Database是information_schema—— 侧边栏显示的是系统库的表,不是你的业务表 - MySQL 用户的
host字段不匹配:比如建的是'devuser'@'localhost',但插件连的是127.0.0.1,得补一句CREATE USER 'devuser'@'127.0.0.1' IDENTIFIED BY 'xxx'; - 右键表 →
Query Table(Database Client)或Generate SELECT(SQLTools),比手敲更可靠,能自动带上库名前缀
连上了但结构树不刷新、字段注释不显示?别依赖手动刷新按钮
Database Client 的结构树是监听 DDL 变更自动刷新的,但前提是建表/改字段的语句得通过它执行,或者你手动触发一次“重载”。如果用命令行或别的工具改了结构,VSCode 不会感知。
- 执行完
ALTER TABLE users ADD COLUMN phone VARCHAR(20) COMMENT '手机号';后,右键数据库 →Reload(不是右键表)才能更新字段列表 - 中文字段名补全弱是
SQLTools的硬伤:SELECT * FROM 用户表不提示列名;Database Client虽不补全,但双击字段就能看到真实名字和注释 - 如果刚建完表就看不到,先确认
FLUSH PRIVILEGES;是否执行(尤其改过权限后),否则元数据缓存可能未更新


















