- 如何确定 MySQL 数据库的类型:是 InnoDB 还是 MyISAM?
- 如何将 MyISAM 转换为 InnoDB 或反之亦然?
要确定表所使用的存储引擎,可以使用show table status
命令。结果中的Engine
字段将显示表的数据库引擎。或者,您可以从information_schema.tables
中选择engine
字段:
select engine
from information_schema.tables
where table_schema = 'schema_name'
and table_name = 'table_name'
你可以使用alter table
切换存储引擎:
alter table the_table engine = InnoDB;
当然,您可以指定任何可用的存储引擎。选择需要查询的数据库,运行show table status;
SHOW TABLE STATUS FROM `database`;
以下内容将列出所有表的相关信息,包括它们是MyISAM还是InnoDB。如果你只想列出一个表的数据,可以使用下面的语法:
SHOW TABLE STATUS FROM `database` LIKE 'table';
更改表引擎:
ALTER TABLE `table` ENGINE=InnoDB;
*请注意,在使用LIKE进行匹配时,使用GRAVE ACCENT(`反引号)指定数据库名称和表名称,使用SINGLE QUOTE('单引号)指定比较字符串(表名称的一部分)。
`不等于'
以下是一个查询,列出了所有数据库中的所有表及其存储引擎:
Original Answer翻译成"最初的回答"
SELECT table_name, table_schema, engine
FROM information_schema.tables;
http://dev.mysql.com/doc/refman/5.0/en/converting-tables-to-innodb.html