如何查看表格的排序规则? I.E.我想看看:
+-----------------------------+
| table | collation |
|-----------------------------|
| t_name | latin_general_ci |
+-----------------------------+
答案 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)
如果有人在这里也寻找一种检查整个数据库的排序规则的方法:
use mydatabase;
(其中 mydatabase
是您要检查的数据库的名称)SELECT @@character_set_database, @@collation_database;
您应该看到如下结果:
+--------------------------+----------------------+
| @@character_set_database | @@collation_database |
+--------------------------+----------------------+
| utf8mb4 | utf8mb4_unicode_ci |
+--------------------------+----------------------+
1 row in set (0.00 sec)