Verwenden Sie SHOW CREATE TABLE
. Zum Beispiel:
CREATE TABLE a (
dflt VARCHAR(11),
cs VARCHAR(11) CHARACTER SET latin1,
cola VARCHAR(11) COLLATE utf8mb4_hungarian_ci,
cc VARCHAR(11) CHARACTER SET latin1 COLLATE latin1_bin,
colb VARCHAR(11) COLLATE latin1_bin
);
SHOW CREATE TABLE a\G
mysql> SHOW CREATE TABLE a\G
*************************** 1. row ***************************
Table: a
Create Table: CREATE TABLE `a` (
`dflt` varchar(11) DEFAULT NULL,
`cs` varchar(11) CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL,
`cola` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_hungarian_ci DEFAULT NULL,
`cc` varchar(11) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
`colb` varchar(11) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
Hinweise:
- In den meisten Spalten sind der Zeichensatz und die Sortierung ausgeschrieben.
- Derjenige, der dies nicht tut (
dflt
) erbt diese Einstellungen von denDEFAULTs
für den Tisch. - Jeder
CHARACTER SET
hat eine "Standard"-Sortierung. - Jeder
COLLATE
ist genau einemCHARACTER SET
zugeordnet , nämlich der erste Teil des Sortierungsnamens. - (hier nicht gezeigt):Die
DEFAULTs
für die Tabelle werden von derDATABASE
geerbt . - MySQL 8 ist standardmäßig
CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
wenn du nichts tust. - Ältere Versionen verwendeten standardmäßig
CHARSET=latin1 COLLATE=latin1_swedish_ci
- Das "0900" oder "520" in einigen Sortierungen bezieht sich auf die Unicode-Standardversionen 9.0 und 5.20. Daraus können Sie schließen, dass es in Zukunft möglicherweise neue, "bessere" Kollationen geben wird.