sql >> Database >  >> RDS >> MariaDB

3 manieren om de sortering van een kolom in MariaDB te krijgen

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.


  1. Hoe de positie van een argument te retourneren binnen een lijst met argumenten in MySQL

  2. MySQL-voorbeelddatabase

  3. Hoe echo ik een Resource-id #6 van een MySql-antwoord in PHP?

  4. XML-tabel met Oracle 11g