如何在 MySQL 中更改表引擎?

mysqlmysqli database

您可以借助 alter 命令更改表引擎。语法如下 −

alter table yourTableName ENGINE = yourEngineName;

为了理解上述语法,让我们创建一个带有 MyISAM 引擎的表。稍后您可以更改任何其他引擎。以下是创建表的查询。

mysql> create table ChangeEngineTableDemo
−> (
   −> MovieId int,
   −> MovieName varchar(100),
   −> IsPopular bool
−> )ENGINE = 'MyISAM';
Query OK, 0 rows affected (0.37 sec)

查看上面的查询,表引擎是 MyISAM,现在您可以将其更改为任何其他引擎。在这里,我们将引擎类型更改为 InnoDB。更改引擎类型的查询如下 −

mysql> alter table ChangeEngineTableDemo ENGINE = InnoDB;
Query OK, 0 rows impacted (2.21 sec)
Records: 0 Duplicates: 0 Warnings: 0

要借助 show 命令检查引擎类型是否已更改,以下是查询 −

mysql> show create table ChangeEngineTableDemo;

以下是输出 −

+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table                 | Create Table                                                                                                                                                                                                                        |
+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ChangeEngineTableDemo | CREATE TABLE `changeenginetabledemo` (
`MovieId` int(11) DEFAULT NULL,
`MovieName` varchar(100) DEFAULT NULL,
`IsPopular` tinyint(1) DEFAULT NULL
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci                                                                                                            |
+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.03 sec)

相关文章