zoukankan      html  css  js  c++  java
  • mysql 字符集排查

    mysql 字符集排查

    库级别

    SELECT
    	* 
    FROM
    	information_schema.schemata 
    WHERE
    	schema_name NOT IN ( 'information_schema', 'performance_schema', 'mysql', 'sys' ) 
    	AND ( default_character_set_name <> 'utf8' OR default_collation_name <> 'utf8_general_ci' );
    

    表级别

    SELECT 
        TABLE_SCHEMA,
        TABLE_NAME,
        TABLE_TYPE,
        TABLE_ROWS,
        TABLE_COLLATION,
        CREATE_OPTIONS
    FROM
        information_schema.TABLES
    WHERE
        TABLE_TYPE = 'BASE TABLE'
            AND TABLE_SCHEMA NOT IN ('information_schema' , 'performance_schema', 'mysql', 'sys')
            AND TABLE_COLLATION <> 'utf8_general_ci';
    

    字段级别

    SELECT 
        TABLE_SCHEMA AS '库名',
        DEFAULT_CHARACTER_SET_NAME AS '库的字符集',
        DEFAULT_COLLATION_NAME AS '库的校对字符集',
        TABLE_NAME AS '表名',
        TABLE_COLLATION AS '表的校对规则',
        COLUMN_NAME AS '字段名',
        CHARACTER_SET_NAME AS '字段的字符集',
        COLLATION_NAME AS '字段的校对规则'
    FROM
        (SELECT 
            C2.TABLE_SCHEMA,
                C2.TABLE_NAME,
                C2.CHARACTER_SET_NAME,
                T2.TABLE_COLLATION,
                C2.COLUMN_NAME,
                C2.COLLATION_NAME,
                S2.DEFAULT_CHARACTER_SET_NAME,
                S2.DEFAULT_COLLATION_NAME,
                CASE
                    WHEN
                        S2.DEFAULT_CHARACTER_SET_NAME = 'utf8'
                            AND S2.DEFAULT_COLLATION_NAME = 'utf8_general_ci'
                            AND (C2.CHARACTER_SET_NAME = 'utf8'
                            OR C2.CHARACTER_SET_NAME IS NULL)
                            AND (C2.COLLATION_NAME = 'utf8_general_ci'
                            OR C2.COLLATION_NAME IS NULL)
                            AND T2.TABLE_COLLATION = 'utf8_general_ci'
                    THEN
                        'true'
                    ELSE 'false'
                END STATUS
        FROM
            information_schema.COLUMNS AS C2
        JOIN (SELECT 
            TABLE_SCHEMA,
                TABLE_NAME,
                TABLE_TYPE,
                TABLE_ROWS,
                TABLE_COLLATION,
                CREATE_OPTIONS
        FROM
            information_schema.TABLES
        WHERE
            TABLE_TYPE = 'BASE TABLE'
                AND TABLE_SCHEMA NOT IN ('information_schema' , 'sys', 'performance_schema', 'mysql')) T2 ON C2.TABLE_NAME = T2.TABLE_NAME
            AND C2.TABLE_SCHEMA = T2.TABLE_SCHEMA
        JOIN (SELECT 
            SCHEMA_NAME,
                DEFAULT_CHARACTER_SET_NAME,
                DEFAULT_COLLATION_NAME
        FROM
            information_schema.SCHEMATA) S2 ON T2.TABLE_SCHEMA = S2.SCHEMA_NAME) charset_status
    WHERE
        STATUS = 'false'
    ORDER BY TABLE_SCHEMA , TABLE_NAME;
    
    • 表默认排序规则。输出未显式列出表默认字符集,但排序规则名称以字符集名称开头。

  • 相关阅读:
    Codeforces Round #344 (Div. 2) C. Report 其他
    Codeforces Round #344 (Div. 2) B. Print Check 水题
    Codeforces Round #344 (Div. 2) A. Interview 水题
    8VC Venture Cup 2016
    CDOJ 1280 772002画马尾 每周一题 div1 矩阵快速幂 中二版
    CDOJ 1280 772002画马尾 每周一题 div1 矩阵快速幂
    CDOJ 1279 班委选举 每周一题 div2 暴力
    每周算法讲堂 快速幂
    8VC Venture Cup 2016
    Educational Codeforces Round 9 F. Magic Matrix 最小生成树
  • 原文地址:https://www.cnblogs.com/gczheng/p/9953676.html
Copyright © 2011-2022 走看看