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


当前回答

如果您正在使用MySQL Workbench,右键单击一个表并选择alter table。

在这个窗口中,您可以看到您的表Engine,也可以更改它。

其他回答

mysqlshow -i <database_name>

将显示特定数据库的所有表的信息。

mysqlshow -i <database_name> <table_name> 

只对一个特定的表这样做。

对Jocker的回复做了一点调整(我想作为评论发布,但我还没有足够的因果报应):

SELECT TABLE_NAME, ENGINE
  FROM information_schema.TABLES
 WHERE TABLE_SCHEMA = 'database' AND ENGINE IS NOT NULL;

这将MySQL视图从列表中排除,因为它没有引擎。

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

use information_schema;

select NAME from INNODB_TABLES where NAME like "db_name%";

显示数据库表状态;

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

显示name=your_desired_table_name表状态;

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

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

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