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í zDEFAULTspro stůl. - Každá
CHARACTER SETmá „výchozí“ řazení. - Každý
COLLATEje přidružen přesně k jednéCHARACTER SET, konkrétně první část názvu řazení. - (Zde není zobrazeno):
DEFAULTspro tabulku se dědí zDATABASE. - Výchozí nastavení MySQL 8 je
CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_cipokud 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.