Dưới đây là ba cách để trả về đối chiếu của một cột trong MariaDB.
SHOW COLUMNS
Tuyên bố
SHOW COLUMNS
câu lệnh có FULL
tùy chọn từ khóa đó, khi được sử dụng, sẽ xuất ra đối chiếu cột và nhận xét, cũng như các đặc quyền bạn có cho mỗi cột.
Dưới đây là một ví dụ về việc chạy câu lệnh này với một bảng có tên là Events
:
SHOW FULL COLUMNS FROM Events;
Kết quả ví dụ:
+-----------+--------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+ | 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
Bảng
Một tùy chọn khác là truy vấn information_schema.columns
bàn. Trong trường hợp này, chúng tôi có thể chỉ chọn các cột mà chúng tôi quan tâm:
SELECT
column_name,
character_set_name,
collation_name
FROM information_schema.columns
WHERE table_name = 'Events'
AND column_name = 'EventName';
Kết quả ví dụ:
+-------------+--------------------+-------------------+ | column_name | character_set_name | collation_name | +-------------+--------------------+-------------------+ | EventName | latin5 | latin5_turkish_ci | +-------------+--------------------+-------------------+
SHOW CREATE TABLE
Tuyên bố
Một tùy chọn khác là sử dụng SHOW CREATE TABLE
, trả về CREATE TABLE
tuyên bố của bảng của chúng tôi.
Tuy nhiên, bộ ký tự và thông tin đối chiếu cho một cột chỉ được trả về nếu chúng khác với đối chiếu mặc định của bảng.
Dưới đây là một ví dụ về cách chạy câu lệnh này với một bảng có tên là Pets
, trong đó các cột không khác với mặc định của bảng:
SHOW CREATE TABLE Pets;
Kết quả:
+-------+------------------------------+ | 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 | +-------+-------------------------------+
Trong ví dụ này, thông tin đối chiếu không khác nhau, và do đó không có thông tin đối chiếu nào được trả lại cho bất kỳ cột nào.
Hãy thay đổi đối chiếu trên PetName
cột:
ALTER TABLE Pets
MODIFY PetName VARCHAR(255)
CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL;
Và chạy SHOW CREATE TABLE
một lần nữa:
SHOW CREATE TABLE Pets;
Kết quả:
+-------+------------------------------+ | 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 | +-------+-------------------------------+
Lần này, chúng ta có thể thấy cài đặt bộ ký tự và đối chiếu mới dựa trên PetName
cột.