Här är tre sätt att returnera sammanställningen av en kolumn i MariaDB.
VISA KOLUMNER
Uttalande
VISA KOLUMNER
uttalandet har en valfri FULL
nyckelord, som, när det används, ger kolumnsortering och kommentarer, såväl som de privilegier du har för varje kolumn.
Här är ett exempel på att köra den här satsen mot en tabell som heter Händelser
:
SHOW FULL COLUMNS FROM Events;
Exempelresultat:
+-----------+--------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+ | 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 | | +-----------+--------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+
informationsschema.kolumner
Tabell
Ett annat alternativ är att fråga information_schema.columns
tabell. I det här fallet kan vi välja bara de kolumner vi är intresserade av:
SELECT
column_name,
character_set_name,
collation_name
FROM information_schema.columns
WHERE table_name = 'Events'
AND column_name = 'EventName';
Exempelresultat:
+-------------+--------------------+-------------------+ | column_name | character_set_name | collation_name | +-------------+--------------------+-------------------+ | EventName | latin5 | latin5_turkish_ci | +-------------+--------------------+-------------------+
VISA SKAPA TABELL
Uttalande
Ett annat alternativ är att använda VISA SKAPA TABELL
, som returnerar CREATE TABLE
redogörelse för vårt bord.
Men teckenuppsättningen och sorteringsinformationen för en kolumn returneras endast om de skiljer sig från tabellens standardsortering.
Här är ett exempel på att köra den här satsen mot en tabell som heter Pets
, där kolumnerna inte skiljer sig från tabellens standard:
SHOW CREATE TABLE Pets;
Resultat:
+-------+------------------------------+ | 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 | +-------+-------------------------------+
I det här exemplet gjorde sorteringsinformationen inte skiljer sig, och därför returnerades ingen sorteringsinformation för några kolumner.
Låt oss ändra sorteringen på PetName
kolumn:
ALTER TABLE Pets
MODIFY PetName VARCHAR(255)
CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL;
Och kör SHOW CREATE TABLE
igen:
SHOW CREATE TABLE Pets;
Resultat:
+-------+------------------------------+ | 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 | +-------+-------------------------------+
Den här gången kan vi se den nya teckenuppsättningen och sorteringsinställningarna mot