MariaDB
 sql >> база данни >  >> RDS >> MariaDB

3 начина да получите съпоставяне на колона в MariaDB

Ето три начина да върнете сортирането на колона в MariaDB.

SHOW COLUMNS Изявление

SHOW COLUMNS изразът има незадължителен FULL ключова дума, която, когато се използва, ще изведе съпоставяне на колони и коментари, както и привилегиите, които имате за всяка колона.

Ето пример за изпълнение на този израз срещу таблица, наречена Events :

SHOW FULL COLUMNS FROM Events;

Примерен резултат:

+-----------+--------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+
| 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 Таблица

Друга възможност е да направите заявка за information_schema.columns маса. В този случай можем да изберем само колоните, които ни интересуват:

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

Примерен резултат:

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

SHOW CREATE TABLE Изявление

Друга възможност е да използвате SHOW CREATE TABLE , който връща CREATE TABLE изявление на нашата маса.

Въпреки това, наборът от знаци и информацията за съпоставяне за колона се връщат само ако се различават от съпоставянето по подразбиране на таблицата.

Ето пример за изпълнение на това изявление срещу таблица, наречена Pets , където колоните не се различават от стандартните в таблицата:

SHOW CREATE TABLE Pets;

Резултат:

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

В този пример информацията за съпоставяне не се различават и така не беше върната информация за съпоставяне за нито една колона.

Нека променим съпоставянето на PetName колона:

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

И стартирайте SHOW CREATE TABLE отново:

SHOW CREATE TABLE Pets;

Резултат:

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

Този път можем да видим новия набор от знаци и настройки за съпоставяне срещу PetName колона.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как UUID() работи в MariaDB

  2. HOUR() срещу EXTRACT(HOUR ...) в MariaDB:Каква е разликата?

  3. 8 начина да добавите час към дата и час в MariaDB

  4. Поправете „ГРЕШКА 1222 (21000):Използваните оператори SELECT имат различен брой колони“, когато използвате UNION в MariaDB

  5. 2 начина да получите наборите от символи, налични в MariaDB