VSCode连接数据库:安装插件连接MySQL与执行SQL查询操作

云静小哥_4607

云静小哥_4607

2026-05-04

206人浏览

原创

能真正连接mysql的vscode插件是cweijan开发的mysql(蓝底白库图标)或database client;sqltools需额外安装并启用mysql driver,而mysql syntax等仅支持语法高亮、无法连接。

vscode连接数据库:安装插件连接mysql与执行sql查询操作

连不上 MySQL,八成是插件装错了——MySQL(作者 cweijan)能直接连,SQLTools 要额外装驱动,MySQL Syntax 这类只高亮、根本不连。

装哪个插件才真正能连 MySQL

VSCode 本身不带数据库连接能力,必须靠插件;但插件功能差异极大,不能只看名字里有没有“MySQL”。

  • MySQL(作者 cweijan,图标是蓝底白库):原生支持 MySQL 5.7~8.4,包括默认的 caching_sha2_password 认证,无需 Java、无需额外驱动,填完 host/port/user/password/database 就能点“测试连接”
  • SQLTools + SQLTools MySQL Driver:平台型方案,适合多数据库共存场景,但必须两个都装、都重启 VS Code,否则日志只报 Connection refused,实际是驱动根本没加载
  • Database Client(同作者 cweijan):和上面那个 MySQL 插件其实是同一套代码,只是打包名不同,功能一致,可任选其一
  • 所有带 syntax、highlight、formatter 的插件,比如 MySQL Syntax,一律卸载——它们不处理连接,只管颜色

host 填 localhost 却连不上?查运行环境

localhost 在不同环境下含义不同,VSCode 进程和 MySQL 实际监听地址不匹配时,就会出现 Connection refused 或 Timed out after 5000 ms。

MySQL
MySQL

编写正确的MySQL查询,避免字符集、索引和锁方面的常见陷阱。

下载
  • Docker:MySQL 在容器里,VSCode 在宿主机,localhost 指向宿主回环,不是容器。改用 host.docker.internal(Windows/macOS),或查容器网络网关 IP(Linux)
  • WSL2:MySQL 跑在 WSL 里,VSCode 在 Windows,localhost 仍指 Windows 回环。执行 cat /etc/resolv.conf | grep nameserver,取 nameserver 后的 IP 填入 host
  • Mac M1:Rosetta 兼容层下 DNS 解析可能把 localhost 解成 IPv6 地址,导致连接失败。直接换 127.0.0.1
  • 密码含 @、/ 等字符?必须 URL 编码,例如 my@pwd → my%40pwd

连上了却报 “No database selected” 或 “Table doesn't exist”

这不是连不上,是上下文没设对。VSCode 插件不会自动执行 USE mydb,database 字段是显式必需项,不是可选项。

  • database 字段必须填具体库名(如 myapp_dev),留空会导致所有查询报错,哪怕连接状态栏显示绿色
  • 执行 SELECT * FROM users; 前,务必确认状态栏右下角显示的是完整连接串,例如 mysql://root@127.0.0.1:3306/myapp_dev,缺了最后的库名就是没生效
  • 侧边栏右键表名 → Generate SELECT statement,生成的语句自带库前缀(myapp_dev.users),可避免因库未选中而报错
  • 如果连的是 MySQL 8.0+ 且用户用的是 caching_sha2_password,旧版插件会报 Client does not support authentication protocol;cweijan 的插件已内置支持,不用手动改认证方式

执行 SQL 后查不到新数据?先看 autocommit

INSERT/UPDATE 成功但 SELECT 查不到,大概率是事务卡在未提交状态,而不是插件或网络问题。

  • MySQL 默认开启 autocommit=1,但某些连接参数(如通过 connectionString 注入)可能关闭它。检查配置里有没有 "options": "--init-command=SET autocommit=0" 这类字段
  • 执行完写操作后,立刻跟一句 SELECT LAST_INSERT_ID();,有返回值说明已写入内存,只是没提交
  • 显式加 COMMIT;,或开头先跑 SET autocommit = 1; 再执行后续语句
  • 注意:SQLite 不支持单独 COMMIT,必须包在 BEGIN; ... COMMIT; 块里

database 字段留空、host 用错环境 IP、密码没编码、autocommit 关闭——这四点覆盖了 90% 的“连得上但用不了”问题。其他细节(如 charset、SSL)插件基本已设妥,默认 utf8mb4,不必手动干预。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

mysql vscode

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

2023.10.12

3943

8

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.27

851

4

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

2024.02.23

1029

5

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

2024.03.06

5781

10

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

2024.03.06

2723

4

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

2024.04.07

5760

11

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

2024.04.29

7621

6

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

2024.04.29

1030

5

sql中删除一列的命令是什么
sql中删除一列的命令是什么

在sql中,使用alter table语句可以删除一列,语法为:alter table table_name drop column column_name。想了解更多sql的相关内容,可以阅读本专题下面的文章。

2024.04.29

912

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL vs MySQL
PostgreSQL vs MySQL

共1课时 | 178人学习

使用phpenv集成环境安装极致CMS
使用phpenv集成环境安装极致CMS

共2课时 | 282人学习