Ето три начина да върнете сортирането на колона в 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
колона.