mysql检查表的排序规则

时间:2010-09-30 15:20:23

标签: mysql collation

如何查看表格的排序规则? I.E.我想看看:

+-----------------------------+
|  table  |     collation     |
|-----------------------------|
| t_name  |  latin_general_ci |
+-----------------------------+

5 个答案:

答案 0 :(得分:128)

SHOW TABLE STATUS显示有关表的信息,包括排序规则。

答案 1 :(得分:64)

上面的答案很棒,但它实际上没有提供一个示例来保存用户不必查找语法:

show table status like 'test';

test是表名。

(根据以下评论进行了更正。)

答案 2 :(得分:8)

使用此查询:

SHOW CREATE TABLE tablename

您将获得与表格相关的所有信息。

答案 3 :(得分:5)

您还可以查询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';

答案 4 :(得分:0)

检查整个数据库的整理

如果有人在这里寻找一种检查整个数据库的排序规则的方法:

  1. use mydatabase;(其中 mydatabase 是您要检查的数据库的名称)
  2. SELECT @@character_set_database, @@collation_database;

您应该看到如下结果:

+--------------------------+----------------------+
| @@character_set_database | @@collation_database |
+--------------------------+----------------------+
| utf8mb4                  | utf8mb4_unicode_ci   |
+--------------------------+----------------------+
1 row in set (0.00 sec)