Använd SHOW CREATE TABLE
. Till exempel:
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
Anmärkningar:
- De flesta kolumner har teckenuppsättningen och sorteringen stavade.
- Den som inte gör det (
dflt
) ärver dessa inställningar frånDEFAULTs
för bordet. - Varje
CHARACTER SET
har en "standard"-sortering. - Varje
COLLATE
är associerad med exakt enCHARACTER SET
, nämligen den första delen av sorteringsnamnet. - (Visas inte här):
DEFAULTs
för tabellen ärvs frånDATABASE
. - MySQL 8 har som standard
CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
om du inte gör något. - Äldre versioner har som standard
CHARSET=latin1 COLLATE=latin1_swedish_ci
- "0900" eller "520" i vissa kollationer hänvisar till Unicode Standards version 9.0 och 5.20. Av detta kan du dra slutsatsen att det kan komma nya, "bättre", sammanställningar i framtiden.