MySQL 修改存储引擎

一、MySQL 存储引擎 介绍

MySQL存储引擎用于最大化数据库的性能。它处理用于在数据库中存储和管理信息的创建、读取和更新操作。在本文中,我们将学习如何更改 MySQL 中的存储引擎。

以下是MySQL中提供不同功能和特性的各种存储引擎支持:

  • ISAM
  • MyISAM
  • MERGE
  • InnoDB
  • MEMORY (HEAP)
  • ARCHIVE
  • BDB
  • CSV
  • FEDERATED

如果我们想知道我们的 MySQL 服务器支持哪些存储引擎,我们需要使用下面的查询。

mysql> SHOW ENGINES;  

它返回以下输出:

Support 列值:指示是否可以在当前服务器中使用引擎。YES、NO或DEFAULT的值表示表类型可用、不可用和可用且当前设置为默认存储引擎。

二、如何显示表的当前存储引擎?

我们可以通过下面讨论的几种方式获取表的当前存储引擎:

1. 第一种显示表当前存储引擎的方法是在information_schema数据库中。例如,如果我们在mystudentdb数据库中有一个名为students的表,我们可以使用以下查询来获取当前的存储引擎:

mysql> SELECT engine FROM information_schema.tables  
WHERE table_schema = 'mystudentdb' AND table_name = 'students';  

我们将得到以下输出:

2. 第二种显示表当前存储引擎的方法是使用SHOW TABLE STATUS命令。例如,如果我们想获取一个名为students的表的存储引擎,我们可以使用如下查询:

mysql> SHOW TABLE STATUS LIKE 'students';  

我们将得到以下输出,我们可以在红色矩形框中看到当前的存储引擎:

3. 第三种在表中显示当前存储引擎的方法是使用SHOW CREATE TABLE命令。例如,如果我们想获取一个名为students的表的存储引擎,我们可以使用如下查询:

mysql> SHOW CREATE TABLE students \G;  

我们将得到以下输出,我们可以在红色矩形框中看到当前的存储引擎:

三、如何更改 MySQL 中的存储引擎?

我们可以看到 MySQL 显示'students'表使用了InnoDB存储引擎。有时,我们想更改存储引擎。在这种情况下,我们可以使用以下语句:

ALTER TABLE table_name ENGINE engine_name; 

我们已经使用 SHOW ENGINES 语句看到了 MySQL 服务器当前支持的所有存储引擎。如果我们想将 'students' 表的存储引擎从 InnoDB 更改为任何其他引擎,我们可以使用如下语句:

mysql> ALTER TABLE students ENGINE = 'MYISAM';  

执行此语句后,我们将得到以下输出:

我们可以通过再次显示当前的存储命令来验证它。请参阅以下输出,其中 InnoDB 引擎更改为MyISAM引擎:

四、如何在MySQL Workbench 更改存储引擎?

我们首先启动该工具并使用用户名和密码登录,以在 MySQL Workbench 中更改所需表的存储引擎。现在,我们需要执行以下步骤来更改存储引擎:

1. 转到导航选项卡并单击Schema菜单,其中所有以前创建的数据库都可用。选择所需的数据库(例如mstudentdb)。它将弹出以下选项。

2. 展开表子菜单并选择要更改的存储引擎的表。选择表后,右键单击所选表(例如,students),然后单击Alter Table选项。点击 Alter Table 选项,我们将得到如下屏幕:

3.接下来,点击上一步红色矩形框所示的Engine选项;我们将获得 MySQL 中所有当前支持的存储引擎的名称。请参阅以下屏幕:

4. 现在,从给定选项中选择所需的存储引擎,然后单击应用按钮。它将给出以下屏幕:

5、最后,我们再次点击Apply按钮,如果没有发现错误,点击Finish按钮,完成更改存储引擎的过程。

在本教程中,我们学习了如何显示 MySQL 当前支持的存储引擎,获取表的当前存储引擎,以及将一个引擎更改为不同的引擎。

热门文章

优秀文章