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


当前回答

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

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

其他回答

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

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

SHOW CREATE TABLE <tablename>\G

它的格式会比输出更好吗

SHOW CREATE TABLE <tablename>;

\G技巧对于许多其他查询/命令也很有用。

要显示数据库中所有表及其引擎的列表,使用下面的SQL查询:

SELECT TABLE_NAME,
       ENGINE
FROM   information_schema.TABLES
WHERE  TABLE_SCHEMA = 'dbname';

将dbname替换为数据库名称。

或者运行这个:

show table status;

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

SHOW TABLE STATUS WHERE Name = 'xxx'

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