2008-10-17 56 views

回答

398

SHOW TABLE STATUS WHERE Name = 'xxx'

這會給你(除其他事項外)的Engine列,這是你想要的。

+2

如果我的表被破壞,它只是顯示引擎= NULL,並有一個「註釋」告訴我修表。然而,在我知道如何修復表格之前,我猜我需要知道引擎(我沒有那麼誠實)。因此,@ Jocker的下面的評論對我更有幫助。 – harperville 2013-09-09 13:33:01

+0

@Greg,我們應該使用這個還是Jocker的解決方案? – Pacerier 2015-02-24 05:30:26

+0

@Prier - 兩者都很好。不同之處在於這個解決方案給出了一個表的信息,而Jocker的解決方案顯示了數據庫中所有表的引擎類型(同時也具有更好的可讀性)。 – kramer65 2016-03-20 08:36:56

48
SHOW CREATE TABLE <tablename>; 

分辨率較低,但比SHOW TABLE STATUS更具可讀性。

35

或只是

show table status;

只是,這將LLIST您的數據庫中的所有表。

+0

由於某種原因在我的情況下返回0行... – 2014-01-16 16:10:17

195

要顯示數據庫中的所有表及其引擎列表,使用SQL查詢:

​​

替換dbname用你的數據庫名稱。

12

位一個調整到Jocker的迴應(我會發布的評論,但我沒有足夠的人緣還):

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

這不包括在列表MySQL的意見,不具有一個引擎。相較於

SHOW CREATE TABLE <tablename>; 

\G伎倆輸出

9
SHOW CREATE TABLE <tablename>\G 

將其格式化好得多,也記住了很多其他的查詢/命令非常有用。

0

去INFORMATION_SCHEMA數據庫中,你會發現那麼「表」表中選擇它;

MySQL的「使用INFORMATION_SCHEMA; MySQL的「選擇表名,從表引擎;

4
mysqlshow -i <database_name> 

將顯示特定數據庫的所有表的信息。

mysqlshow -i <database_name> <table_name> 

只會爲特定表格這樣做。

0

另一種方式,也許是單個或匹配表集合的最短拿到狀態:

SHOW TABLE STATUS LIKE 'table'; 

然後,您可以使用LIKE操作符,例如:

SHOW TABLE STATUS LIKE 'field_data_%'; 
2

如果你是一個linux用戶:

爲了顯示mysql服務器上所有數據庫的所有表的引擎,沒有表information_schema,mysql,performance_schema

less < <({ for i in $(mysql -e "show databases;" | cat | grep -v -e Database-e information_schema -e mysql -e performance_schema); do echo "--------------------$i--------------------"; mysql -e "use $i; show table status;"; done } | column -t) 

如果你至少在linux上,你可能會喜歡這個。

將打開less中所有表格的所有信息,請按-S截斷過長的行。

輸出示例:

--------------------information_schema-------------------- 
Name              Engine    Version Row_format Rows Avg_row_length Data_length Max_data_length  Index_length Data_free Auto_increment Create_time Update_time Check_time C 
CHARACTER_SETS            MEMORY    10  Fixed  NULL 384    0   16434816   0    0   NULL   2015-07-13 15:48:45  NULL  N 
COLLATIONS             MEMORY    10  Fixed  NULL 231    0   16704765   0    0   NULL   2015-07-13 15:48:45  NULL  N 
COLLATION_CHARACTER_SET_APPLICABILITY      MEMORY    10  Fixed  NULL 195    0   16357770   0    0   NULL   2015-07-13 15:48:45  NULL  N 
COLUMNS              MyISAM    10  Dynamic  NULL 0    0   281474976710655  1024   0   NULL   2015-07-13 15:48:45  2015-07-13 1 
COLUMN_PRIVILEGES           MEMORY    10  Fixed  NULL 2565   0   16757145   0    0   NULL   2015-07-13 15:48:45  NULL  N 
ENGINES              MEMORY    10  Fixed  NULL 490    0   16574250   0    0   NULL   2015-07-13 15:48:45  NULL  N 
EVENTS              MyISAM    10  Dynamic  NULL 0    0   281474976710655  1024   0   NULL   2015-07-13 15:48:45  2015-07-13 1 
FILES              MEMORY    10  Fixed  NULL 2677   0   16758020   0    0   NULL   2015-07-13 15:48:45  NULL  N 
GLOBAL_STATUS            MEMORY    10  Fixed  NULL 3268   0   16755036   0    0   NULL   2015-07-13 15:48:45  NULL  N 
GLOBAL_VARIABLES           MEMORY    10  Fixed  NULL 3268   0   16755036   0    0   NULL   2015-07-13 15:48:45  NULL  N 
KEY_COLUMN_USAGE           MEMORY    10  Fixed  NULL 4637   0   16762755   0 

. 
. 
. 
3

如果你使用MySQL的工作臺,您可以用鼠標右鍵單擊該表並選擇「更改表」。

在該窗口中,您可以看到您的表格引擎並更改它。