MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

3 Möglichkeiten, die Sortierung einer Spalte in MariaDB zu erhalten

Hier sind drei Möglichkeiten, die Sortierung einer Spalte in MariaDB zurückzugeben.

Die SHOW COLUMNS Erklärung

Die SHOW COLUMNS -Anweisung hat ein optionales FULL Schlüsselwort, das bei Verwendung Spaltensortierung und Kommentare sowie die Berechtigungen ausgibt, die Sie für jede Spalte haben.

Hier ist ein Beispiel für die Ausführung dieser Anweisung für eine Tabelle namens Events :

SHOW FULL COLUMNS FROM Events;

Beispielergebnis:

+-----------+--------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+
| 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 |         |
+-----------+--------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+

Die information_schema.columns Tabelle

Eine weitere Möglichkeit besteht darin, die information_schema.columns abzufragen Tisch. In diesem Fall können wir nur die Spalten auswählen, die uns interessieren:

SELECT
    column_name, 
    character_set_name, 
    collation_name 
FROM information_schema.columns
WHERE table_name = 'Events'
AND column_name = 'EventName';

Beispielergebnis:

+-------------+--------------------+-------------------+
| column_name | character_set_name | collation_name    |
+-------------+--------------------+-------------------+
| EventName   | latin5             | latin5_turkish_ci |
+-------------+--------------------+-------------------+

Die SHOW CREATE TABLE Erklärung

Eine weitere Option ist die Verwendung von SHOW CREATE TABLE , die die CREATE TABLE zurückgibt Aussage unserer Tabelle.

Der Zeichensatz und die Sortierungsinformationen für eine Spalte werden jedoch nur zurückgegeben, wenn sie sich von der Standardsortierung der Tabelle unterscheiden.

Hier ist ein Beispiel für die Ausführung dieser Anweisung für eine Tabelle namens Pets , wobei sich die Spalten nicht vom Standardwert der Tabelle unterscheiden:

SHOW CREATE TABLE Pets;

Ergebnis:

+-------+------------------------------+
| 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 diesem Beispiel waren die Sortierungsinformationen nicht abweichen, daher wurden für keine Spalten Kollationsinformationen zurückgegeben.

Lassen Sie uns die Sortierung für PetName ändern Spalte:

ALTER TABLE Pets 
MODIFY PetName VARCHAR(255) 
    CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL;

Und führen Sie SHOW CREATE TABLE aus nochmal:

SHOW CREATE TABLE Pets;

Ergebnis:

+-------+------------------------------+
| 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 |
+-------+-------------------------------+

Dieses Mal können wir den neuen Zeichensatz und die Sortierungseinstellungen für PetName sehen Spalte.