Réponses:
SHOW TABLE STATUS affiche des informations sur une table, y compris le classement.
Par exemple SHOW TABLE STATUS where name like 'TABLE_NAME'
La réponse ci-dessus est excellente, mais elle ne fournit pas réellement d'exemple qui évite à l'utilisateur d'avoir à rechercher la syntaxe:
show table status like 'test';
Où testest le nom de la table.
(Corrigé selon les commentaires ci-dessous.)
Vous pouvez également interroger INFORMATION_SCHEMA.TABLESet obtenir le classement pour une table spécifique:
SELECT TABLE_SCHEMA
, TABLE_NAME
, TABLE_COLLATION
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 't_name';
cela donne une sortie beaucoup plus lisible contrairement à SHOW TABLE STATUScelle qui contient beaucoup d'informations non pertinentes.
Notez que le classement peut également être appliqué aux colonnes (qui peuvent avoir un classement différent de celui de la table elle-même). Pour récupérer le classement des colonnes d'une table particulière, vous pouvez interroger INFORMATION_SCHEMA.COLUMNS:
SELECT TABLE_SCHEMA
, TABLE_NAME
, COLUMN_NAME
, COLLATION_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 't_name';
Utilisez cette requête:
SHOW CREATE TABLE tablename
Vous obtiendrez toutes les informations relatives à la table.
...) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=latin1Je suppose qu'il peut ne pas afficher le classement s'il est défini par défaut pour la base de données dans les versions ultérieures de mysql / mariadb.
utf8, mais différents classements utf8_general_civs utf8_unicode_ci. Cela peut provoquer des messages d'erreur comme HY000, 1267, Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='... qui est le message qui m'a amené à cette page.
Cette commande décrit
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)