sql >> Databáze >  >> RDS >> MariaDB

3 způsoby, jak získat seřazení sloupce v MariaDB

Zde jsou tři způsoby, jak vrátit řazení sloupce v MariaDB.

Položka SHOW COLUMNS Prohlášení

SHOW COLUMNS příkaz má volitelný FULL klíčové slovo, které při použití vygeneruje řazení a komentáře sloupců a také oprávnění, která máte pro každý sloupec.

Zde je příklad spuštění tohoto příkazu proti tabulce s názvem Events :

SHOW FULL COLUMNS FROM Events;

Příklad výsledku:

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

information_schema.columns Tabulka

Další možností je dotaz na information_schema.columns stůl. V tomto případě si můžeme vybrat pouze sloupce, které nás zajímají:

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

Příklad výsledku:

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

SHOW CREATE TABLE Prohlášení

Další možností je použít SHOW CREATE TABLE , který vrátí CREATE TABLE výpis z naší tabulky.

Informace o znakové sadě a řazení pro sloupec jsou však vráceny pouze v případě, že se liší od výchozího řazení tabulky.

Zde je příklad spuštění tohoto příkazu proti tabulce s názvem Pets , kde se sloupce neliší od výchozího nastavení tabulky:

SHOW CREATE TABLE Pets;

Výsledek:

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

V tomto příkladu informace o řazení nebyly se liší, takže pro žádný sloupec nebyly vráceny žádné informace o řazení.

Pojďme změnit řazení u PetName sloupec:

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

A spusťte SHOW CREATE TABLE znovu:

SHOW CREATE TABLE Pets;

Výsledek:

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

Tentokrát můžeme vidět novou znakovou sadu a nastavení řazení proti PetName sloupec.


  1. Hodnota sloupce identity náhle vyskočí na 1001 na serveru SQL

  2. Přístup k databázi jedné aplikace z jiné aplikace

  3. předat celočíselné pole do procedury Oracle pomocí c#

  4. Jak předám argumenty skriptu PL/SQL na příkazovém řádku s SQLPLUS?