我的MySQL数据库包含几个使用不同存储引擎的表 (特别是myisam和innodb)。我怎么知道是哪几张桌子呢 使用哪个引擎?
当前回答
如果您正在使用MySQL Workbench,右键单击一个表并选择alter table。
在这个窗口中,您可以看到您的表Engine,也可以更改它。
其他回答
如果你是一个GUI的家伙,只是想在PhpMyAdmin中找到它,然后选择你选择的表,并在操作选项卡>>表选项>>存储引擎。 您甚至可以从那里使用下拉选项列表更改它。
PS:本指南基于PhpMyAdmin的4.8版本。不能保证非常旧的版本有相同的路径。
要显示数据库中所有表及其引擎的列表,使用下面的SQL查询:
SELECT TABLE_NAME,
ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'dbname';
将dbname替换为数据库名称。
或者运行这个:
show table status;
这将列出数据库上的所有表和相关详细信息。
还有另一种方法,可能是获取单个或匹配的表集状态的最短方法:
SHOW TABLE STATUS LIKE 'table';
然后你可以使用LIKE操作符,例如:
SHOW TABLE STATUS LIKE 'field_data_%';
转到information_schema数据库,你会发现'tables'表,然后选择它;
Mysql >使用information_schema; Mysql> select table_name, from tables;