mysql 检查表的排序规则

问题描述 投票:0回答:5

如何查看表的排序规则? IE。我想看:

+-----------------------------+
|  table  |     collation     |
|-----------------------------|
| t_name  |  latin_general_ci |
+-----------------------------+
mysql collation
5个回答
215
投票

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

例如

SHOW TABLE STATUS where name like 'TABLE_NAME'


84
投票

上面的答案很好,但它实际上并没有提供一个示例来使用户免于查找语法:

show table status like 'test';

其中

test
是表名称。

(根据下面的评论更正。)


40
投票

检查特定表的排序规则

您可以查询

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';


更多详情可以参考文章

如何检查和更改MySQL表的排序规则


10
投票
检查整个数据库的排序规则

如果有人在这里

寻找检查整个数据库排序规则的方法:

  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)
    

9
投票
使用此查询:

SHOW CREATE TABLE tablename

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

© www.soinside.com 2019 - 2024. All rights reserved.