web-dev-qa-db-ja.com

テーブルのmysqlチェック照合

テーブルの照合順序を確認するにはどうすればよいですか? I.E.見たい:

+-----------------------------+
|  table  |     collation     |
|-----------------------------|
| t_name  |  latin_general_ci |
+-----------------------------+
89
Scott

SHOW TABLE STATUS は、照合を含むテーブルに関する情報を表示します。

134
Lekensteyn

上記の答えは素晴らしいですが、実際には、ユーザーが構文を調べる必要がないようにする例を提供していません。

show table status like 'test';

ここで、testはテーブル名です。

(以下のコメントに従って修正。)

68

次のクエリを使用します。

SHOW CREATE TABLE tablename

テーブルに関連するすべての情報を取得します。

9

INFORMATION_SCHEMA.TABLESをクエリして、特定のテーブルの照合を取得することもできます。

SELECT TABLE_SCHEMA
    , TABLE_NAME
    , TABLE_COLLATION 
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME ='t_name';

SHOW TABLE STATUSが多くの無関係な情報を含んでいるのとは対照的に、はるかに読みやすい出力を提供します。

照合は列にも適用できることに注意してください(テーブル自体とは異なる照合を持つ場合があります)。特定のテーブルの列の照合を取得するには、INFORMATION_SCHEMA.COLUMNSをクエリできます。

SELECT TABLE_SCHEMA 
    , TABLE_NAME 
    , COLUMN_NAME 
    , COLLATION_NAME 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME ='t_name';
7