Cómo SELECCIONAR de los resultados de SHOW TABLE STATUS

36

Me gustaría limitar las filas y columnas que regresan del

SHOW TABLE STATUS

comando en MySQL 5.1. ¿Hay alguna forma de obtener esta misma información a través de una SELECTdeclaración para que pueda manipular los resultados de una manera normal?

Leopd
fuente

Respuestas:

33

Esto tiene más columnas que SHOW TABLE STATUS; pero hace el truco:

SELECT * FROM information_schema.tables WHERE table_schema = DATABASE();

ACTUALIZACIÓN 2011-06-07 19:02

SELECT table_name,Engine,Version,Row_format,table_rows,Avg_row_length,
Data_length,Max_data_length,Index_length,Data_free,Auto_increment,
Create_time,Update_time,Check_time,table_collation,Checksum,
Create_options,table_comment FROM information_schema.tables
WHERE table_schema = DATABASE();

Estas consultas funcionan si configura la base de datos actual.

También puede codificar la base de datos específica:

SELECT table_name,Engine,Version,Row_format,table_rows,Avg_row_length,
Data_length,Max_data_length,Index_length,Data_free,Auto_increment,
Create_time,Update_time,Check_time,table_collation,Checksum,
Create_options,table_comment FROM information_schema.tables
WHERE table_schema = 'mysql';
RolandoMySQLDBA
fuente
10
show table status like 'table1';

No puede manipular las columnas de esta manera, pero es más fácil seleccionar solo las tablas que desea y obtener el SHOW TABLE STATUSresultado normal .

John L
fuente
Lo que limita las filas pero no las columnas, ¿verdad?
Jack Douglas
Correcto. No puede manipular las columnas de esta manera, pero es más fácil seleccionar solo las tablas que desea y obtener la salida SHOW TABLE STATUS normal.
John L
3

Puede usar WHERE o LIKE como SELECT:

show table status where name='name'; 
gayavat
fuente
2

show table status se puede usar sin seleccionar la base de datos actual:

show table status from DbName where name='TableName';

Ver documentación :

SHOW TABLE STATUS
    [{FROM | IN} db_name]
    [LIKE 'pattern' | WHERE expr]
ks1322
fuente
-2

Puede usar esta consulta para mostrar todo el esquema de información.

SELECCIONAR * DESDE information_schema.tables WHERE table_schema = DATABASE ();

o la taquigrafía:

MOSTRAR ESTADO DE LA MESA COMO 'tableName'

zouhair
fuente
1
No veo nada en esta respuesta que no haya sido publicado en otras respuestas.
ypercubeᵀᴹ