我将在本文告诉你如何用VS Code的扩展程序管理MySQL数据库,包括连接到MySQL、新建数据库和表、修改字段定义、简单的查询方法以及导入导出。

在许多情况下,我们需要随时查看数据库的记录来确保程序是否正确执行。也有许多工具提供了可视化的界面来帮助我们实现这些功能,例如phpMyAdmin(需要安装PHP和Web服务器)、Navicat(强大的SQL管理工具,但需要商业授权),也有一些免费的工具可以使用,如Workbench、Sequel Pro、HeidiSQL等等。当然你也可以直接使用mysql控制台去完成所有工作。

但如果你正在使用VS Code来做主力开发,我还是推荐使用这上面的扩展程序来解决这些简单的需求。首先的好处是免费,在钱包有限的情况下不要做破解白嫖党;其次是功能简单,这就意味着我们不需要花精力就能掌握它的使用。

安装MySQL扩展

在VS Code的Extensions(扩展)中可以搜素到许多MySQL的管理工具,排名靠前的即可几乎都可以满足我们的简单需求。搜索MySQL会出来许多相关工具,这里我选择了开发作者为cweijan的这个扩展,当然其他的工具也可以随你喜欢去选择。我一般关注这个工具的安装量、评分和最后更新几个指标。

安装完成后在你的VS Code界面活动栏便会出现该扩展的按钮。该扩展有中文文档,一些使用方法你可以直接从作者的文档中了解,下面我记录一些在开发中常用的MySQL操作。

添加一个MySQL连接

  1. 点击选择活动栏的Database图标;
  2. 在之后打开DATABASE边栏中点击Add Connection图标,打开connect编辑页;
  3. 将你的连接信息填到必填项,包括Host连接地址、Port端口号、Username用户名以及Password密码;其他可选项可根据需求实际填写,例如需要显示的数据库名Showed Database(若不填则显示所有)等;
  4. 最后点击Conncet连接即可完成添加。

成功添加一个MySQL连接后,该连接便会出现在侧边栏中。默认的连接名由host@port组成,例如localhost@3306。在连接名的右侧分别是Refresh刷新图标、New Database新建数据库图标和Open Terminal打开控制台图标。

添加一个新数据库

该插件没有为我们提供添加数据库的可视化UI,但我们依然可以方便的添加一个新的数据库。

在侧边栏的MySQL连接名旁边点击New Database图标会打开一个SQL编辑页,并已经预先填好了创建新数据的语句:

  1. CREATE DATABASE [name]
  2. DEFAULT CHARACTER SET = 'utf8mb4';

其中[name]为数据库的名字,请按需求填写。并为数据库设置默认字符集,一般用默认的utf8mb4就好了。最后点击编辑页面上方的Run SQL执行该语句便可以成功添加一个数据库了。

添加、修改表结构

类似的方法,展开刚建好的数据库,在Table表分组的右侧同样有几个功能按钮,分别是Refresh刷新按钮和Table按钮。

点击Table按钮打开新建表的SQL编辑页。该页同样为我们提供了新建表的SQL模板:

  1. CREATE TABLE [name](
  2. id int NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT 'Primary Key',
  3. create_time DATETIME COMMENT 'Create Time',
  4. update_time DATETIME COMMENT 'Update Time',
  5. [column] VARCHAR(255) COMMENT ''
  6. ) DEFAULT CHARSET UTF8 COMMENT '';

这里借用Mybatis-Plus文档的新建User表结构,新建一张保存用户数据的表。

  1. CREATE TABLE user
  2. (
  3. id BIGINT(20) NOT NULL COMMENT '主键ID',
  4. name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
  5. age INT(11) NULL DEFAULT NULL COMMENT '年龄',
  6. email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
  7. PRIMARY KEY (id)
  8. );

点击编辑页面上方的Run SQL执行该语句便可以成功添加一张表了,且该表会出现在Table分组下。

如果想对建好的表结构进行修改,可以直接右键该表,选择Design Table来打开表结构编辑页面。在该界面下可以修改表名、添加新的字段、修改已有字段和编辑索引。

数据表界面常用操作

单击Table分组下的表明,可以打开表的数据查看界面。该界面由3部分组成,分别是SQL语句编辑框、常用操作按钮组和数据表区域。打开数据表后默认使用图中的SQL语句展示100条数据,如果需要根据条件查询数据可以自行编辑该语句。点击绿色的Excute sql按钮可以执行该SQL语句。其他的操作如插入新数据、修改数据、删除记录和导出数据等都可以直接在界面中通过按钮和直接编辑表格进行操作。

执行SQL操作

除了通过UI方式对表和数据进行操作,我们还可以直接使用SQL语句对数据进行任何操作。有这样几种打开SQL编辑页的方式:

  • 在侧栏的数据库名旁边点击Open Query按钮,可以直接打开一个sql编辑页面,输入SQL语句后可以通过点击右上角的Run Selected SQL来执行语句;
  • 在数据表名旁边点击Select Table SQL按钮,可以直接打开一个sql编辑页,并预置了数据查询SELECT语句,通过编辑该语句可以对数据表的数据进行查询;
  • 展开数据表名,会在边栏列出所有字段,点击一个字段名,会打开编辑该字段的sql编辑页,并预置了一条ALTER TABLE语句,通过编辑该语句可以对某列字段的属性进行修改。

导入和导出表结构和数据

在边栏的数据库名右键,会看到有几个数据导入导出的按钮:Export Data(导出数据)、Export Struct(导出表结构)和Import Sql(导入SQL)

在数据表名上右键,同样有Export Data和Export Struct功能按钮。

除了导入和导出数据,还可以生成模拟测试数据。在数据表名右键,选择Generate Mock Data会打开mock.json编辑页面,然后点击右上角的Start Generate按钮会自动在该表内根据mock.json的定义生成一些随机数据。

其他扩展遇到的坑

在选择其他MySQL扩展的过程中也遇到了一些使用问题,这里记录下以作提示。

SQLTools by Matheus Teixeira

这个插件采用主管理界面和数据库驱动分离安装的路子,先安装SQLTools扩展后再安装你所需要使用的数据库驱动。方法是点击扩展介绍界面中的作者名字,会在左侧搜索栏筛选出作者的其他插件,选择SQLTools MySQL/MariaDB并安装便可以使该扩展支持MySQL数据库了。

除此之外,由于我的Ubuntu 20.04环境安装的MySQL版本是8.0,因此在连接数据库的时候会提示错误:

Request connection/GetChildrenForTreeItemRequest failed with message: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

该问题是由于这个MySQL驱动不支持MySQL 8的caching_sha2_password加密方式。如果你要继续用这个插件,可以将数据库的用户加密改为mysql_native_password方式。更改方法我在之前的文章中也有说明,见安装MySQL到Ubuntu 20.04

使用VS Code的MySQL扩展管理数据库的更多相关文章

  1. PHP mysql扩展整理,操作数据库的实现过程分析

    相关文章:PHP mysqli扩展整理,包括面向过程和面向对象的比较\事务控制\批量执行\预处理   PHPmysqli扩展整理,包括面向过程和面向对象的比较\事务控制\批量执行\预处理 从某种程度上 ...

  2. PHP的MySQL扩展:MySQL数据库概述

    来源:http://www.ido321.com/1023.html 一.SQL:结构化查询语言 SQL(Structured Query Language)是高级的非过程化变成语言,专门用于查询和修 ...

  3. CentOS下开启mysql远程连接,远程管理数据库

    当服务器没有运行php.没装phpmyadmin的时候,远程管理mysql就显得有必要了.因为在CentOS下设置的,所以标题加上了CentOS,以下的命令在debian等系统下应该也OK. mysq ...

  4. Code First开发系列之管理数据库创建,填充种子数据以及LINQ操作详解

    返回<8天掌握EF的Code First开发>总目录 本篇目录 管理数据库创建 管理数据库连接 管理数据库初始化 填充种子数据 LINQ to Entities详解 什么是LINQ to ...

  5. Linux/CentOS下开启MySQL远程连接,远程管理数据库

    当服务器没有运行PHP.没装phpMyAdmin的时候,远程管理MySQL就显得有必要了. 第一步:开启MySQL用户的远程访问权限 mysql -u root -p mysql # 第1个mysql ...

  6. 8天掌握EF的Code First开发系列之3 管理数据库创建,填充种子数据以及LINQ操作详解

    本文出自8天掌握EF的Code First开发系列,经过自己的实践整理出来. 本篇目录 管理数据库创建 管理数据库连接 管理数据库初始化 填充种子数据 LINQ to Entities详解 什么是LI ...

  7. php笔记08:数据库编程---使用php的MySQL扩展库操作MySQL数据库

    1.使用php的MySQL扩展库操作MySQL数据库: php有3种方式操作MySQL数据库 (1)mysql扩展库 (2)mysqli扩展库 (3)pdo     mysql扩展库与mysql数据库 ...

  8. mysql扩展库操作mysql数据库

    环境搭建 启用mysql扩展库,在php.ini文件中去配置mysql扩展库 extension=php_mysql.dll 查询数据库 1.建库建表 //建库testcreate database ...

  9. php使用mysql扩展库链接mysql数据库(查询)

    php链接数据库可以使用mysql扩展库,mysqli,pdo这几种方式,相比java而言要麻烦一点,因为它不像java那么统一.从代码的难易程度来说php的确要简单许多.步骤大体如下 1.打开数据库 ...

随机推荐

  1. HttpServletResponse工具类和HttpServletRequest工具类,前台参数接收方式和后台返回(JSON)数据格式

    RequestUtils.java 操作类 package cn.utils; import org.apache.commons.lang3.StringUtils; import org.slf4 ...

  2. IDEA控制台中文显示乱码处理

    加入 -Dfile.encoding=UTF-8 以及

  3. fmt的API介绍(版本: 7.0.1)

    !!版权声明:本文为博主原创文章,版权归原文作者和博客园共有,谢绝任何形式的 转载!! 作者:mohist 本文翻译: https://fmt.dev/latest/api.html 水平有限,仅供参 ...

  4. 【LeetCode】581. Shortest Unsorted Continuous Subarray 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 解题方法 方法一:排序比较 日期 题目地址:https://leetco ...

  5. 1144 - Ray Gun

    1144 - Ray Gun    PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB You are ...

  6. DevTools 实现原理与性能分析实战

    一.引言 从 2008 年 Google 释放出第一版的 Chrome 后,整个 Web 开发领域仿佛被注入了一股新鲜血液,渐渐打破了 IE 一家独大的时代.Chrome 和 Firefox 是 W3 ...

  7. Amazing!!CSS 也能实现烟雾效果?

    最近利用 CSS 实现了一些看似超出 CSS 能力的效果: 巧用渐变实现高级感拉满的背景光动画 Amazing!!CSS 也能实现极光? 本文继续此系列,本文主要想探讨一下,使用 CSS 能否比较好的 ...

  8. SOFA 通信

    私有通信协议设计: 我们的分布式架构,所需要的内部通信模块,采用了私有协议来设计和研发. 可以有效地利用协议里的各个字段 灵活满足各种通信功能需求:比如 CRC 校验,Server Fail-Fast ...

  9. Java二、八、十、十六进制介绍

    1.说明 在Java中整数有四种表示方式, 分别为十进制,二进制,八进制,十六进制, 其中十进制就是平常最熟悉,使用最多的进制: 二进制是在计算机中使用最多的进制, 八进制和十六进制都是基于二进制的, ...

  10. Solon 1.6.12 发布,类似 Spring 的生态体系

    关于官网 千呼万唤始出来: https://solon.noear.org .整了一个月多了,总体样子有了...还得不断接着整! 关于 Solon Solon 是一个轻量级应用开发框架.支持 Web. ...