Použijte SHOW CREATE TABLE
. Například:
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
Poznámky:
- Většina sloupců má uvedenou znakovou sadu a řazení.
- Ten, který ne (
dflt
) zdědí tato nastavení zDEFAULTs
pro stůl. - Každá
CHARACTER SET
má „výchozí“ řazení. - Každý
COLLATE
je přidružen přesně k jednéCHARACTER SET
, konkrétně první část názvu řazení. - (Zde není zobrazeno):
DEFAULTs
pro tabulku se dědí zDATABASE
. - Výchozí nastavení MySQL 8 je
CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
pokud nic neuděláte. - Starší verze měly výchozí hodnotu
CHARSET=latin1 COLLATE=latin1_swedish_ci
- Číslo „0900“ nebo „520“ v některých řazeních odkazuje na standardy Unicode verze 9.0 a 5.20. Z toho můžete usuzovat, že v budoucnu mohou existovat nová, „lepší“, kolace.