sql >> Databasteknik >  >> RDS >> MariaDB

3 sätt att få sammanställningen av en kolumn i MariaDB

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 PetName kolumn.


  1. Migrera från Oracle till MySQL

  2. Hur ansluter jag till SQL Server via sqlalchemy med Windows-autentisering?

  3. MySQL:Vad är en omvänd version av LIKE?

  4. Hur man genererar satsen create table sql för en befintlig tabell i postgreSQL