MySQL 如何查看表的存储引擎

存储架构 潇湘隐者 (源链)

MySQL 如何查看表的存储引擎

在MySQL中如何查看单个表的存储引擎? 如何查看整个数据库有那些表是某个特殊存储引擎,例如MyISAM存储引擎呢?下面简单的整理一下这方面的知识点。

如果要查看单个表的存储引擎,可以用show create table命令查看该表的存储引擎,那么有下面一些方法:

方法1:

mysql> show create table test;                 
+-------+----------------------------------------------+
| Table | Create Table                                 |
+-------+----------------------------------------------+
| test  | CREATE TABLE `test` (
  `id` int(11) DEFAULT NULL,
  `name` varchar(12) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+----------------------------------------------+
1 row in set (0.00 sec)
 
mysql> 

方法2:

mysql> show table status from MyDB where name='test' G
*************************** 1. row ***************************
           Name: test
         Engine: InnoDB
        Version: 10
     Row_format: Compact
           Rows: 0
 Avg_row_length: 0
    Data_length: 16384
Max_data_length: 0
   Index_length: 0
      Data_free: 0
 Auto_increment: NULL
    Create_time: 2017-06-09 15:45:00
    Update_time: NULL
     Check_time: NULL
      Collation: utf8_general_ci
       Checksum: NULL
 Create_options: 
        Comment: 
1 row in set (0.01 sec)

方法3:

mysql> 
mysql> select table_catalog
    ->       ,table_schema
    ->       ,table_name
    ->       ,engine
    -> from tables
    -> where table_schema='MyDB' and table_name='test';
+---------------+--------------+------------+--------+
| table_catalog | table_schema | table_name | engine |
+---------------+--------------+------------+--------+
| def           | MyDB         | test       | InnoDB |
+---------------+--------------+------------+--------+
1 row in set (0.00 sec)
 
mysql> 

如果要查询某个库或所有实例里面表使用的存储引擎,那么可以使用information_schema.tables来查询。下面是简单的几个例子。

查询整个MySQL实例里面存储引擎为MyISAM的表

select table_catalog
      ,table_schema
      ,table_name
      ,engine
from information_schema.tables
where engine='MyISAM';

查询MyDB数据库里面存储引擎为MyISAM的表

select table_catalog
      ,table_schema
      ,table_name
      ,engine
from information_schema.tables
where table_schema='MyDB' and engine='MyISAM';

您可能感兴趣的

用MySQL的全文檢索實現相關性排序 實現根據文章的關鍵詞搜索出相關的文章,並按相關性排序。 數據庫版本是5.6.x,還不能像5.7那樣支持中文的全文檢索,所以另外創建一列保存關鍵詞的編碼。方法為base64轉碼並去掉「%」符號:
The case against auto increment in MySQL Introduction In my travels to visit many customers over the last few years, I often see my customers creating many or all of their MySQL InnoDB tabl...
tsbatis-tools 批量Entity导出 tsbatis 现在还在preview 版本,大量的测试工作还没有完成,但是已经发现一个问题,就是每次写entity会很浪费时间,为了提高效率,我们开发了一个工具来解决这个问题。目前可以支持sqlite和mysql 批量导出entity。 TsBatis-Tools 下载 tsba...
The MySQL delete line with AJAX and JSON failed I try to DELETE a row in mysql. I got help to insert and it works well. I tried to use the same logic for delete one row with ID identification, but I...
三元表达式,列表解析和生成器表达式... 三元表达式 在以前,在诸如比较两个数大小的时候,通常的写法都是下面的样子 if x > y: print("the max is x") else: print("the max is y") 三元表达式的语法为: True if expression else...
潇湘隐者责编内容来自:潇湘隐者 (源链) | 更多关于

阅读提示:酷辣虫无法对本内容的真实性提供任何保证,请自行验证并承担相关的风险与后果!
本站遵循[CC BY-NC-SA 4.0]。如您有版权、意见投诉等问题,请通过eMail联系我们处理。
酷辣虫 » MySQL 如何查看表的存储引擎



专业 x 专注 x 聚合 x 分享 CC BY-NC-SA 4.0

使用声明 | 英豪名录