MariaDBの列の照合を返す3つの方法があります。
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
表
もう1つのオプションは、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
ステートメント
もう1つのオプションは、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
に対する新しい文字セットと照合設定を確認できます。 列。