Відповіді:
SHOW TABLE STATUS показує інформацію про таблицю, включаючи порівняння.
Наприклад SHOW TABLE STATUS where name like 'TABLE_NAME'
Наведена вище відповідь чудова, але насправді вона не дає приклад, який врятує користувача від необхідності шукати синтаксис:
show table status like 'test';
Звідки testназва таблиці.
(Виправлено відповідно до коментарів нижче.)
Ви також можете здійснити запит INFORMATION_SCHEMA.TABLESі отримати порівняння для певної таблиці:
SELECT TABLE_SCHEMA
, TABLE_NAME
, TABLE_COLLATION
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 't_name';
що дає значно більш читабельний вихід на відміну від того, SHOW TABLE STATUSщо містить безліч невідповідної інформації.
Зауважте, що порівняння також може застосовуватися до стовпців (які можуть мати інше порівняння, ніж сама таблиця). Щоб отримати порівняння стовпців для певної таблиці, ви можете здійснити запит INFORMATION_SCHEMA.COLUMNS:
SELECT TABLE_SCHEMA
, TABLE_NAME
, COLUMN_NAME
, COLLATION_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 't_name';
Скористайтеся цим запитом:
SHOW CREATE TABLE tablename
Ви отримаєте всю інформацію, що стосується таблиці.
...) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=latin1Я здогадуюсь, що це може не відображати порівняння, якщо воно встановлено за замовчуванням для бази даних у пізніших версіях mysql / mariadb.
utf8, але різні порівняння utf8_general_ciпроти utf8_unicode_ci. Це може спричинити повідомлення про помилки на кшталт HY000, 1267, Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='... яке повідомлення привело мене на цю сторінку.
Ця команда описує
mysql> use <database name>
mysql> show table status like '<table name>';
+------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+---------------------+------------+--------------------+----------+----------------+---------+
| 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 | Collation | Checksum | Create_options | Comment |
+------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+---------------------+------------+--------------------+----------+----------------+---------+
| test | InnoDB | 11 | Dynamic | 52 | 315 | 16384 | 0 | 0 | 0 | 59 | NULL | 2020-04-16 23:00:00 | NULL | utf8mb4_unicode_ci | NULL | | |
+------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+---------------------+------------+--------------------+----------+----------------+---------+
1 row in set (0.01 sec)