Hier zijn drie manieren om de sortering van een kolom in MariaDB te retourneren.
De SHOW COLUMNS
Verklaring
De SHOW COLUMNS
statement heeft een optionele FULL
trefwoord, dat, wanneer gebruikt, kolomsortering en opmerkingen zal uitvoeren, evenals de privileges die u voor elke kolom heeft.
Hier is een voorbeeld van het uitvoeren van deze instructie tegen een tabel met de naam Events
:
SHOW FULL COLUMNS FROM Events;
Voorbeeld resultaat:
+-----------+--------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+ | 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 | | +-----------+--------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+
De information_schema.columns
Tabel
Een andere optie is om de information_schema.columns
. te doorzoeken tafel. In dit geval kunnen we alleen de kolommen kiezen waarin we geïnteresseerd zijn:
SELECT
column_name,
character_set_name,
collation_name
FROM information_schema.columns
WHERE table_name = 'Events'
AND column_name = 'EventName';
Voorbeeld resultaat:
+-------------+--------------------+-------------------+ | column_name | character_set_name | collation_name | +-------------+--------------------+-------------------+ | EventName | latin5 | latin5_turkish_ci | +-------------+--------------------+-------------------+
De SHOW CREATE TABLE
Verklaring
Een andere optie is om SHOW CREATE TABLE
te gebruiken , die de CREATE TABLE
. retourneert verklaring van onze tafel.
De tekenset en sorteergegevens voor een kolom worden echter alleen geretourneerd als ze verschillen van de standaardsortering van de tabel.
Hier is een voorbeeld van het uitvoeren van deze verklaring tegen een tabel met de naam Pets
, waarbij de kolommen niet verschillen van de standaard van de tabel:
SHOW CREATE TABLE Pets;
Resultaat:
+-------+------------------------------+ | 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 | +-------+-------------------------------+
In dit voorbeeld deed de sorteerinformatie niet verschillen, en er is dus geen sorteerinformatie geretourneerd voor kolommen.
Laten we de sortering op de PetName
veranderen kolom:
ALTER TABLE Pets
MODIFY PetName VARCHAR(255)
CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL;
En voer SHOW CREATE TABLE
. uit nogmaals:
SHOW CREATE TABLE Pets;
Resultaat:
+-------+------------------------------+ | 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 | +-------+-------------------------------+
Deze keer kunnen we de nieuwe tekenset en sorteerinstellingen zien tegen de PetName
kolom.