如何通过vscode进行数据库查询与管理操作【教程】

11次阅读

VS Code需通过sqlTools扩展管理数据库,须搭配对应驱动并正确配置host、port、database及字符集;注意语言模式设置、语句执行方式、密码安全存储。

如何通过vscode进行数据库查询与管理操作【教程】

VS Code 本身不内置数据库管理功能,必须依赖扩展实现查询与管理;直接装插件就能用,但选错扩展或配置不当会导致连接失败、中文乱码、SQL 执行无响应等问题。

推荐安装 SQLTools 及对应驱动扩展

SQLTools 是目前 VS Code 中最稳定、支持数据库类型最多(mysqlpostgresqlsqlite、SQL Server、oracle 等)、且能管理多连接的插件。但它本身不包含任何数据库驱动,需额外安装对应驱动扩展:

  • MySQL:安装 SQLTools MySQL Driver
  • PostgreSQL:安装 SQLTools PostgreSQL Driver
  • SQLite:无需额外驱动,开箱即用
  • SQL Server:安装 SQLTools SQL Server Driver

注意:SQLTools 的驱动扩展必须与主插件版本兼容(建议都用最新版),旧版驱动在新版 VS Code 中可能报 Cannot find module 'vscode' 错误。

配置连接时常见错误:host、port、database 字段填错

新建连接时,host 不能写成 localhost 就完事——如果数据库运行在 docker 容器中,得填容器内网 IP 或服务名(如 mysql8);本地 MySQL 默认端口是 3306,但若改过配置(如 macos M1 上用 Homebrew 装的 MySQL 可能监听 8889),port 必须同步修改;database 字段为空会导致连接成功但无法展开表列表,必须指定具体库名或填 *(部分驱动支持)。

连接测试失败时,先在终端手动验证连通性:

mysql -h 127.0.0.1 -P 3306 -u root -p

避免把问题归咎于插件,实则是网络或权限配置问题。

执行 SQL 时注意文件后缀与语言模式

VS Code 不会自动识别 .sql 文件为 SQL 语言,需手动设置语言模式(右下角点击「Plain Text」→ 选「SQL」),否则语法高亮失效、代码补全不可用;执行查询前,确保光标在 SQL 语句内(或选中语句),按 Ctrl+Shift+P → 输入 SQLTools: Run Current Statement(不是「Run Query」);若执行后无返回,检查是否漏掉了分号 ;——某些驱动(如 PostgreSQL)要求显式终止符,而 SQLite 驱动则可省略。

  • 多语句执行:默认只执行光标所在单条语句;想批量运行,需全选或用 SQLTools: Run Current Query
  • 结果展示:输出在右侧 SQLTools Results 面板,不支持导出 CSV,如需导出得复制粘贴或改用 DBeaver
  • 中文字段/内容显示为 ???:在连接配置中添加 "charset": "utf8mb4"(MySQL)或启用 clientEncoding(PostgreSQL)

临时查询 vs 持久化连接:别把密码硬编码进配置

连接信息保存在 ~/.sqltools/config.json(macOS/linux)或 %USERPROFILE%.sqltoolsconfig.jsonwindows),明文存储密码极不安全。生产环境务必使用:

  • MySQL:用 authPlugin: "caching_sha2_password" + MySQL 8.0+ 的缓存认证,或配置 my.cnf 使用 socket 认证
  • PostgreSQL:启用 peermd5 认证,配合 ~/.pgpass 文件管理凭据
  • 通用方案:用 SQLTools 的「Connection String」模式,把密码放在环境变量里,例如:mysql://$DB_USER:$DB_PASS@127.0.0.1:3306/mydb

很多人图省事直接填密码,之后提交配置到 git,等于公开泄露数据库访问权限。

text=ZqhQzanResources