SHOW TABLE STATUS
SHOW TABLE STATUS [FROMdatabase] [LIKE 'pattern']
This statement displays status information on a set of tables from a database.
To obtain the status of tables from a database other than the current
default one, use the FROM clause. The results include information on all of the tables of
the database, unless the LIKE clause is used to limit the
tables displayed by a naming pattern:
SHOW TABLE STATUS FROM human_resources
LIKE 'employees' \G
*************************** 1. row ***************************
Name: employees
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 122
Avg_row_length: 16384
Data_length: 1094812
Max_data_length: 281474976710655
Index_length: 2048
Data_free: 0
Auto_increment: 1145
Create_time: 2006-08-14 21:31:36
Update_time: 2007-03-30 07:02:17
Check_time: 2006-08-14 21:31:36
Collation: latin1_swedish_ci
Checksum: NULL
Create_options: max_rows=1000
Comment: InnoDB free: 4096 kBIn this example, the number of tables is limited to one because
a specific table name is given in the LIKE clause
without the % wildcard. You can change some of
these variables or table options using the ALTER TABLE statement; see the ALTER TABLE: Table options” subsection earlier in this
chapter.
In the results of this statement, the name of the table is shown
first, followed by a description of the table. The
Engine field lists the type of storage engine used.
The Version field gives the version number from the
table’s .frm file. Row_format
can be Compact,
Compressed, Dynamic,
Fixed, or Redundant, unless it’s
an InnoDB table, in which case the possibilities are
Compact or Redundant. The
Rows field shows the number of rows of data
contained in the table. Except for MyISAM tables, this number usually
isn’t accurate. The Avg_row_length field gives the
average length of the rows in bytes. The
Data_length field gives the size of the datafile in
bytes. This is the same size shown at the filesystem level for the
.MYD file. Max_data_length
gives the maximum size allowed for the datafile of the table.
Index_length is the size of the index file, the
.MYI file. Data_free is the
space that has been allocated for the datafile that is not in use at
the moment; this is typically 0. The value of the
Auto_increment field is the value of the column
that uses AUTO_INCREMENT for
the next row to be created. Create_time is the date
and time the table was created; Update_time shows
the time the table was last updated; and Check_time
is the last date and time that the table was checked. This isn’t
always accurate. Collation names the collation used
for sorting the table’s data. Checksum provides the
checksum value if there is one, NULL if not. The
Create_options field lists any options, and the
Comment field shows any comments that were given
when the table was created or altered. For InnoDB tables, the free
space is given under Comment.
From the command line, the utility mysqlshow with the
--keys option can be used to show the indexes of a
table:
mysqlshow --user=user--password --statusdatabasetable