mysql check collation of a table

前端 未结 4 1835
无人及你
无人及你 2020-12-08 18:18

How can I see what collation a table has? I.E. I want to see:

+-----------------------------+
|  table  |     collation     |
|-----------------------------|         


        
相关标签:
4条回答
  • 2020-12-08 18:30

    The above answer is great, but it doesn't actually provide an example that saves the user from having to look up the syntax:

    show table status like 'test';

    Where test is the table name.

    (Corrected as per comments below.)

    0 讨论(0)
  • 2020-12-08 18:37

    SHOW TABLE STATUS shows information about a table, including the collation.

    For example SHOW TABLE STATUS where name like 'TABLE_NAME'

    0 讨论(0)
  • 2020-12-08 18:41

    You can also query INFORMATION_SCHEMA.TABLES and get the collation for a specific table:

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

    that gives a much more readable output in contrast to SHOW TABLE STATUS that contains a lot of irrelevant information.


    Note that collation can also be applied to columns (which might have a different collation than the table itself). To fetch the columns' collation for a particular table, you can query INFORMATION_SCHEMA.COLUMNS:

    SELECT TABLE_SCHEMA 
        , TABLE_NAME 
        , COLUMN_NAME 
        , COLLATION_NAME 
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_NAME = 't_name';
    
    0 讨论(0)
  • 2020-12-08 18:49

    Use this query:

    SHOW CREATE TABLE tablename
    

    You will get all information related to table.

    0 讨论(0)
提交回复
热议问题