MySQL 如何查看表的存储引擎
2017-06-13 09:45 潇湘隐者 阅读(30771) 评论(2) 编辑 收藏 举报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';

【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步