如何确定mysql数据库的类型:是InnoDB还是MyISAM?

Rac*_*hel 24 mysql sql types

  • 如何确定mysql数据库的类型:是InnoDB还是MyISAM?
  • 如何将MyISAM转换为InnoDB,反之亦然?

Jam*_*lis 39

要确定表使用的存储引擎,您可以使用show table status.Engine结果中的字段将显示表的数据库引擎.或者,您可以engineinformation_schema.tables以下位置选择字段:

select engine 
from   information_schema.tables 
where  table_schema = 'schema_name'
   and table_name = 'table_name' 
Run Code Online (Sandbox Code Playgroud)

您可以使用alter table以下命令更改存储引擎:

alter table the_table engine = InnoDB;
Run Code Online (Sandbox Code Playgroud)

当然,您可以指定任何可用的存储引擎.


mr-*_*uro 14

选择有问题的数据库并运行 show table status;


ton*_*gil 6

SHOW TABLE STATUS FROM `database`;
Run Code Online (Sandbox Code Playgroud)

将列出所有表的所有内容,从它们是 MyISAM 还是 InnoDB 开始。如果您只想列出有关 1 个表的数据,可以使用以下语法*:

SHOW TABLE STATUS FROM `database` LIKE 'table';
Run Code Online (Sandbox Code Playgroud)

更改表引擎:

ALTER TABLE `table` ENGINE=InnoDB;
Run Code Online (Sandbox Code Playgroud)

*注意使用 GRAVE ACCENT(` 反引号)作为数据库名和表名,在 LIKE 之后使用单引号(')作为比较字符串(表名的一部分)。

` != '