sql >> データベース >  >> RDS >> MariaDB

MariaDBで利用可能な照合を取得する3つの方法

    MariaDBインストールで使用可能な照合を見つける必要がある場合は、次の3つの方法を確認してください。

    SHOW COLLATIONS ステートメント

    SHOW COLLATIONS ステートメントは、MariaDBで利用可能なすべての照合を返すための迅速で簡単な方法です。これを単独で使用して、すべての照合を返すか、LIKEで結果をフィルタリングできます。 および/またはWHERE 条項。

    例:

    SHOW COLLATION LIKE 'latin7%';

    結果:

    +-------------------------+---------+------+---------+----------+---------+
    | Collation               | Charset | Id   | Default | Compiled | Sortlen |
    +-------------------------+---------+------+---------+----------+---------+
    | latin7_estonian_cs      | latin7  |   20 |         | Yes      |       1 |
    | latin7_general_ci       | latin7  |   41 | Yes     | Yes      |       1 |
    | latin7_general_cs       | latin7  |   42 |         | Yes      |       1 |
    | latin7_bin              | latin7  |   79 |         | Yes      |       1 |
    | latin7_general_nopad_ci | latin7  | 1065 |         | Yes      |       1 |
    | latin7_nopad_bin        | latin7  | 1103 |         | Yes      |       1 |
    +-------------------------+---------+------+---------+----------+---------+

    この場合、結果をlatin7で始まる照合のみに絞り込みました。 。

    LIKEを含めることができることに注意してください SHOW COLLATIONの直後の句 文章。これを行うと、一致する照合名が示されます。

    WHEREの両方を使用する別の例を次に示します。 句とLIKE 条項:

    SHOW COLLATION 
    WHERE Sortlen LIKE '4' 
    AND Collation LIKE 'utf%';

    結果:

    +---------------------+---------+-----+---------+----------+---------+
    | Collation           | Charset | Id  | Default | Compiled | Sortlen |
    +---------------------+---------+-----+---------+----------+---------+
    | utf8_thai_520_w2    | utf8    | 578 |         | Yes      |       4 |
    | utf8mb4_thai_520_w2 | utf8mb4 | 610 |         | Yes      |       4 |
    | utf16_thai_520_w2   | utf16   | 674 |         | Yes      |       4 |
    | utf32_thai_520_w2   | utf32   | 738 |         | Yes      |       4 |
    +---------------------+---------+-----+---------+----------+---------+

    情報スキーマCOLLATIONS

    information_schema.COLLATIONS 表には、MariaDBでサポートされている照合の完全なリストが含まれています。これは、SHOW COLLATIONSと同じリストです。 戻ります。

    したがって、このテーブルをクエリして、返したい照合を返すことができます。関心のある列だけに列を絞り込むこともできます。

    例:

    SELECT * 
    FROM information_schema.COLLATIONS
    WHERE COLLATION_NAME LIKE 'utf%'
    AND SORTLEN = '4';

    結果:

    +---------------------+--------------------+-----+------------+-------------+---------+
    | COLLATION_NAME      | CHARACTER_SET_NAME | ID  | IS_DEFAULT | IS_COMPILED | SORTLEN |
    +---------------------+--------------------+-----+------------+-------------+---------+
    | utf8_thai_520_w2    | utf8               | 578 |            | Yes         |       4 |
    | utf8mb4_thai_520_w2 | utf8mb4            | 610 |            | Yes         |       4 |
    | utf16_thai_520_w2   | utf16              | 674 |            | Yes         |       4 |
    | utf32_thai_520_w2   | utf32              | 738 |            | Yes         |       4 |
    +---------------------+--------------------+-----+------------+-------------+---------+

    ご覧のとおり、SHOW COLLATIONSと同じ列が返されます。 ステートメントが返されます。

    これが標準のSQLSELECTを使用する場合 ステートメントでは、さまざまな方法で結果をカスタマイズできます。返される列を減らしたり、テーブルを他のテーブルと結合したりすることもできます。

    返される列を減らす例を次に示します。

    SELECT 
        COLLATION_NAME, 
        CHARACTER_SET_NAME 
    FROM information_schema.COLLATIONS
    WHERE COLLATION_NAME LIKE 'utf%'
    AND SORTLEN = '4';

    結果:

    +---------------------+--------------------+
    | COLLATION_NAME      | CHARACTER_SET_NAME |
    +---------------------+--------------------+
    | utf8_thai_520_w2    | utf8               |
    | utf8mb4_thai_520_w2 | utf8mb4            |
    | utf16_thai_520_w2   | utf16              |
    | utf32_thai_520_w2   | utf32              |
    +---------------------+--------------------+

    情報スキーマCOLLATION_CHARACTER_SET_APPLICABILITY

    information_schema.COLLATION_CHARACTER_SET_APPLICABILITY テーブルには、information_schema.COLLATIONSのサブセットが含まれています テーブル。同じ照合と文字セットが含まれていますが、それだけです。つまり、含まれる列が少ないということです。

    例:

    SELECT * 
    FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
    LIMIT 10;

    結果:

    +-----------------------+--------------------+
    | COLLATION_NAME        | CHARACTER_SET_NAME |
    +-----------------------+--------------------+
    | big5_chinese_ci       | big5               |
    | big5_bin              | big5               |
    | big5_chinese_nopad_ci | big5               |
    | big5_nopad_bin        | big5               |
    | dec8_swedish_ci       | dec8               |
    | dec8_bin              | dec8               |
    | dec8_swedish_nopad_ci | dec8               |
    | dec8_nopad_bin        | dec8               |
    | cp850_general_ci      | cp850              |
    | cp850_bin             | cp850              |
    +-----------------------+--------------------+

    この場合、LIMITを使用しました 返される行を10行に制限する句。そうでない場合は322行が返されます。


    1. postgresqlでクエリを停止/強制終了する方法は?

    2. SQLiteで数値を通貨としてフォーマットする

    3. グリッドインフラストラクチャを再リンクする

    4. 親のすべての子(子孫)を取得するためのCTE