Zde jsou tři způsoby, jak vrátit řazení sloupce v MariaDB.
Položka SHOW COLUMNS
Prohlášení
SHOW COLUMNS
příkaz má volitelný FULL
klíčové slovo, které při použití vygeneruje řazení a komentáře sloupců a také oprávnění, která máte pro každý sloupec.
Zde je příklad spuštění tohoto příkazu proti tabulce s názvem Events
:
SHOW FULL COLUMNS FROM Events;
Příklad výsledku:
+-----------+--------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+ | Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment | +-----------+--------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+ | EventId | int(11) | NULL | NO | PRI | NULL | auto_increment | select,insert,update,references | | | EventName | varchar(255) | latin5_turkish_ci | YES | | NULL | | select,insert,update,references | | +-----------+--------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+
information_schema.columns
Tabulka
Další možností je dotaz na information_schema.columns
stůl. V tomto případě si můžeme vybrat pouze sloupce, které nás zajímají:
SELECT
column_name,
character_set_name,
collation_name
FROM information_schema.columns
WHERE table_name = 'Events'
AND column_name = 'EventName';
Příklad výsledku:
+-------------+--------------------+-------------------+ | column_name | character_set_name | collation_name | +-------------+--------------------+-------------------+ | EventName | latin5 | latin5_turkish_ci | +-------------+--------------------+-------------------+
SHOW CREATE TABLE
Prohlášení
Další možností je použít SHOW CREATE TABLE
, který vrátí CREATE TABLE
výpis z naší tabulky.
Informace o znakové sadě a řazení pro sloupec jsou však vráceny pouze v případě, že se liší od výchozího řazení tabulky.
Zde je příklad spuštění tohoto příkazu proti tabulce s názvem Pets
, kde se sloupce neliší od výchozího nastavení tabulky:
SHOW CREATE TABLE Pets;
Výsledek:
+-------+------------------------------+ | Table | Create Table | +-------+------------------------------+ | Pets | CREATE TABLE `Pets` ( `PetId` int(11) NOT NULL, `PetTypeId` int(11) NOT NULL, `OwnerId` int(11) NOT NULL, `PetName` varchar(60) NOT NULL, `DOB` date DEFAULT NULL, PRIMARY KEY (`PetId`), KEY `PetTypeId` (`PetTypeId`), KEY `OwnerId` (`OwnerId`), CONSTRAINT `pets_ibfk_1` FOREIGN KEY (`PetTypeId`) REFERENCES `PetTypes` (`PetTypeId`), CONSTRAINT `pets_ibfk_2` FOREIGN KEY (`OwnerId`) REFERENCES `Owners` (`OwnerId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 | +-------+-------------------------------+
V tomto příkladu informace o řazení nebyly se liší, takže pro žádný sloupec nebyly vráceny žádné informace o řazení.
Pojďme změnit řazení u PetName
sloupec:
ALTER TABLE Pets
MODIFY PetName VARCHAR(255)
CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL;
A spusťte SHOW CREATE TABLE
znovu:
SHOW CREATE TABLE Pets;
Výsledek:
+-------+------------------------------+ | Table | Create Table | +-------+------------------------------+ | Pets | CREATE TABLE `Pets` ( `PetId` int(11) NOT NULL, `PetTypeId` int(11) NOT NULL, `OwnerId` int(11) NOT NULL, `PetName` varchar(255) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL, `DOB` date DEFAULT NULL, PRIMARY KEY (`PetId`), KEY `PetTypeId` (`PetTypeId`), KEY `OwnerId` (`OwnerId`), CONSTRAINT `pets_ibfk_1` FOREIGN KEY (`PetTypeId`) REFERENCES `PetTypes` (`PetTypeId`), CONSTRAINT `pets_ibfk_2` FOREIGN KEY (`OwnerId`) REFERENCES `Owners` (`OwnerId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 | +-------+-------------------------------+
Tentokrát můžeme vidět novou znakovou sadu a nastavení řazení proti PetName
sloupec.