当前位置:  开发笔记 > 后端 > 正文

如何检查特定表的MySQL引擎类型?

如何解决《如何检查特定表的MySQL引擎类型?》经验,为你挑选了7个好方法。

我的MySQL数据库包含几个使用不同存储引擎的表(特别是myisam和innodb).如何找出哪个表使用哪个引擎?



1> Greg..:

SHOW TABLE STATUS WHERE Name = 'xxx'

这将为您(除其他外)提供一个Engine列,这是您想要的.


如果我的表被损坏,它只是显示Engine = NULL并有一个"Comment"告诉我修复表.然而,在我知道如何修复表之前,我猜我需要知道引擎(说实话我没有那么远.)因此,@ Jocker的评论对我来说更有帮助.

2> 小智..:

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

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

替换dbname为您的数据库名称.


这很棒b/c它会过滤除tablename和引擎之外的所有内容.

3> Javier..:
SHOW CREATE TABLE ;

不易解析但更易读SHOW TABLE STATUS.



4> 小智..:

要不就

show table status;

只是这将列出您数据库中的所有表.


@NikolaiSamteladze,你有选择数据库中的表吗?

5> Evan Donovan..:

对Jocker的回应有点调整(我会发表评论,但我还没有足够的业力):

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

这会从列表中排除MySQL视图,这些视图没有引擎.



6> Nicholas..:
SHOW CREATE TABLE \G

与输出相比,它的格式会更好

SHOW CREATE TABLE ;

\G对于许多其他查询/命令,这个技巧也很有用.



7> 小智..:
mysqlshow -i 

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

mysqlshow -i   

将只为特定的表格这样做.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有