我的MySQL数据库包含几个使用不同存储引擎的表 (特别是myisam和innodb)。我怎么知道是哪几张桌子呢 使用哪个引擎?


当前回答

转到information_schema数据库,你会发现'tables'表,然后选择它;

Mysql >使用information_schema; Mysql> select table_name, from tables;

其他回答

除了前面的例子外,你还可以从information_schema db中通过标准查询得到如下信息:

use information_schema;

select NAME from INNODB_TABLES where NAME like "db_name%";
SHOW TABLE STATUS WHERE Name = 'xxx'

这将为您提供一个Engine列(以及其他内容),这就是您想要的。

SHOW CREATE TABLE <tablename>;

可解析性较差,但可读性比SHOW TABLE STATUS强。

显示数据库表状态;

它将列出上述数据库中的所有表。 示例输出

显示name=your_desired_table_name表状态;

它将显示上述表使用的存储引擎。

或者运行这个:

show table status;

这将列出数据库上的所有表和相关详细信息。