I MySQL kan du ange teckenuppsättning och sortering på olika nivåer. Du kan ange dem på anslutningsnivå, servernivå, databasnivå, tabellnivå och kolumnnivå. Du kan också ange en sortering i dina frågor så att den åsidosätter all sortering som tidigare har angetts på ovannämnda nivåer.
För att ställa in teckenuppsättningen och sorteringen på kolumnnivå kan du använda CREATE TABLE
uttalande eller ALTER TABLE
uttalande (beroende på om du skapar tabellen eller modifierar den), och ange teckenuppsättningen och sorteringen inom kolumnens definition (kolumnen som du vill ställa in teckenuppsättningen/sorteringen på).
Ställ in teckenuppsättning och sortering
För att ställa in teckenuppsättningen och sorteringen för en specifik kolumn när du först skapar en tabell, använd CHARACTER SET
och COLLATE
satser i CREATE TABLE
uttalande:
CREATE TABLE Tasks ( TaskId INT NOT NULL AUTO_INCREMENT, TaskName VARCHAR(255) NOT NULL CHARACTER SET big5 COLLATE big5_chinese_ci, PRIMARY KEY (TaskId));
Observera att istället för att ange teckenuppsättningen och sorteringen för hela tabellen, anger vi det bara för en specifik kolumn (i det här fallet TaskName
kolumn).
Det här exemplet ställer in kolumnens teckenuppsättning till big5
och sorteringen till big5_chinese_ci
. Detta åsidosätter vilken standardsortering som än har ställts in på databas- och servernivå.
Ändra teckenuppsättning och sortering
För att ändra teckenuppsättningen och sorteringen av en befintlig kolumn, använd CHARACTER SET
och COLLATE
satser i ALTER TABLE
uttalande:
ALTER TABLE Tasks MODIFY TaskName VARCHAR(255) CHARACTER SET hebrew COLLATE hebrew_general_ci NOT NULL;
Detta ändrar kolumnens teckenuppsättning till hebrew
och sammanställningen till hebrew_general_ci
.
Kontrollera sorteringen
I MySQL Workbench kan du kontrollera en kolumns sortering genom att högerklicka på dess tabell och välja Ändra tabell... och välj sedan lämplig kolumn i den övre rutan. Sorteringen visas i Kolumndetaljer rutan.
Det finns också flera sätt att kontrollera en kolumns sortering med SQL.