sql >> Database teknologi >  >> RDS >> MariaDB

3 måder at få sammenstillingen af ​​en kolonne i MariaDB

Her er tre måder at returnere sammenstillingen af ​​en kolonne i MariaDB.

SHOW COLUMNS Erklæring

SHOW COLUMNS sætningen har en valgfri FULL søgeord, der, når det bruges, vil udsende kolonnesortering og kommentarer, såvel som de privilegier, du har for hver kolonne.

Her er et eksempel på at køre denne sætning mod en tabel kaldet Events :

SHOW FULL COLUMNS FROM Events;

Eksempelresultat:

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

En anden mulighed er at forespørge information_schema.columns bord. I dette tilfælde kan vi kun vælge de kolonner, vi er interesserede i:

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

Eksempelresultat:

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

SHOW CREATE TABLE Erklæring

En anden mulighed er at bruge SHOW CREATE TABLE , som returnerer CREATE TABLE opgørelse af vores tabel.

Tegnsættet og sorteringsoplysningerne for en kolonne returneres dog kun, hvis de adskiller sig fra tabellens standardsortering.

Her er et eksempel på at køre denne sætning mod en tabel kaldet Pets , hvor kolonnerne ikke adskiller sig fra 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 dette eksempel gjorde sorteringsoplysningerne ikke afvige, og der blev derfor ikke returneret nogen sorteringsoplysninger for nogen kolonner.

Lad os ændre sorteringen på PetName kolonne:

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

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

Denne gang kan vi se det nye tegnsæt og sorteringsindstillinger mod PetName kolonne.


  1. Benchmarking Managed PostgreSQL Cloud Solutions - Google Cloud:Tredje del

  2. INDIEN, STD Code Finder Script i PHP, MYSQL, JQUERY

  3. Bedste DBaaS-løsninger til PostgreSQL

  4. Returner parametrene for en lagret procedure eller brugerdefineret funktion i SQL Server (T-SQL-eksempler)