vscode需通过sqltools扩展连接mysql/postgresql:安装sqltools及对应驱动,用sqltools: new connection配置连接参数,用ctrl+alt+r运行当前语句,注意编码设为utf8mb4、时区同步及vscode文件编码为utf-8。

VSCode 本身不支持直接运行 SQL 查询,必须借助扩展;最常用且稳定的是 SQLTools(配合对应数据库驱动),而不是内置功能或随便装个插件就完事。
如何安装并配置 SQLTools 连接 MySQL/PostgreSQL
装错扩展是新手最常见的卡点——搜 “SQL” 出来的很多插件只做语法高亮或格式化,根本不能执行查询。SQLTools 是目前唯一成熟支持多数据库、带连接管理、可执行查询、返回结果表格的扩展。
- 在 VSCode 扩展市场搜索并安装
SQLTools和对应驱动:SQLTools MySQL/MariaDB Driver或SQLTools PostgreSQL Driver - 安装后按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入SQLTools: New Connection创建连接 - 填写主机、端口、数据库名、用户名、密码;注意 PostgreSQL 默认端口是
5432,MySQL 是3306,填错会提示Connection refused - 连接成功后,状态栏右下角会出现数据库图标和当前连接名,点击可快速切换
写完 SQL 后怎么运行(不是 Ctrl+Enter)
默认快捷键不是直觉型的 Ctrl+Enter,而且行为取决于光标位置和选中范围——这点容易误操作导致只执行半条语句或报错。
- 把光标放在某条 SQL 语句内(如
SELECT * FROM users;的任意位置),按Ctrl+Shift+P→ 输入SQLTools: Run Current Statement,或直接用快捷键Ctrl+Alt+R(Windows/Linux)/Cmd+Alt+R(macOS) - 若想运行多个语句,必须先用鼠标或键盘选中它们(支持跨行),再触发运行;否则只会执行光标所在“语句块”(以分号或空行分隔)
- 执行后结果以新标签页形式展示为表格,支持排序、导出 CSV,但不支持编辑回写
- 如果报错
Query is empty,大概率是光标在注释里、空行上,或语句末尾没加分号(某些驱动强制要求)
为什么连上了却查不出数据,或者中文变问号
连接成功 ≠ 编码和时区就自动对齐。特别是本地 MySQL 用 utf8mb4,而 VSCode 默认用系统编码读取响应,中间一环断掉就全乱。
- 检查数据库服务端字符集:执行
SHOW VARIABLES LIKE 'character_set%';,确保character_set_client、character_set_connection、character_set_database都是utf8mb4 - 在
SQLTools连接配置里添加额外参数:MySQL 加"connectionString": "charset=utf8mb4";PostgreSQL 加"connectionString": "client_encoding=utf8" - VSCode 自身编码需设为 UTF-8:右下角点击编码名称(如
UTF-8或GBK),选Save with Encoding→UTF-8 - 时区不一致会导致
NOW()返回错误时间,可在连接参数加timezone=Asia/Shanghai(MySQL)或options=-c timezone=Asia/Shanghai(PostgreSQL)
真正麻烦的从来不是连上数据库,而是连接参数里的隐式选项、客户端和服务端的编码协商、以及 VSCode 对二进制响应的解码逻辑——这些细节不调,看着连上了,一查中文就崩。











