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

MariaDBで利用可能な文字セットを取得する2つの方法

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

    SHOW CHARACTER SET ステートメント

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

    例:

    SHOW CHARACTER SET LIKE 'latin%';

    結果:

    +---------+-----------------------------+-------------------+--------+
    | Charset | Description                 | Default collation | Maxlen |
    +---------+-----------------------------+-------------------+--------+
    | latin1  | cp1252 West European        | latin1_swedish_ci |      1 |
    | latin2  | ISO 8859-2 Central European | latin2_general_ci |      1 |
    | latin5  | ISO 8859-9 Turkish          | latin5_turkish_ci |      1 |
    | latin7  | ISO 8859-13 Baltic          | latin7_general_ci |      1 |
    +---------+-----------------------------+-------------------+--------+

    この場合、結果をlatinで始まる文字セットのみに絞り込みました。 。

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

    WHEREの両方を使用する別の例を次に示します。 句とLIKE 句、およびOR 演算子:

    SHOW CHARACTER SET 
    WHERE Maxlen LIKE '3'
    OR Description LIKE '%Japanese%';

    結果:

    +---------+---------------------------+---------------------+--------+
    | Charset | Description               | Default collation   | Maxlen |
    +---------+---------------------------+---------------------+--------+
    | ujis    | EUC-JP Japanese           | ujis_japanese_ci    |      3 |
    | sjis    | Shift-JIS Japanese        | sjis_japanese_ci    |      2 |
    | utf8    | UTF-8 Unicode             | utf8_general_ci     |      3 |
    | cp932   | SJIS for Windows Japanese | cp932_japanese_ci   |      2 |
    | eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci |      3 |
    +---------+---------------------------+---------------------+--------+

    information_schema.CHARACTER_SETS

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

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

    例:

    SELECT * 
    FROM information_schema.CHARACTER_SETS
    WHERE CHARACTER_SET_NAME LIKE 'utf%'
    AND MAXLEN = '4';

    結果:

    +--------------------+----------------------+------------------+--------+
    | CHARACTER_SET_NAME | DEFAULT_COLLATE_NAME | DESCRIPTION      | MAXLEN |
    +--------------------+----------------------+------------------+--------+
    | utf8mb4            | utf8mb4_general_ci   | UTF-8 Unicode    |      4 |
    | utf16              | utf16_general_ci     | UTF-16 Unicode   |      4 |
    | utf16le            | utf16le_general_ci   | UTF-16LE Unicode |      4 |
    | utf32              | utf32_general_ci     | UTF-32 Unicode   |      4 |
    +--------------------+----------------------+------------------+--------+

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

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

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

    SELECT 
        CHARACTER_SET_NAME,
        DESCRIPTION
    FROM information_schema.CHARACTER_SETS
    WHERE CHARACTER_SET_NAME LIKE 'utf%'
    AND MAXLEN = '4';

    結果:

    +--------------------+------------------+
    | CHARACTER_SET_NAME | DESCRIPTION      |
    +--------------------+------------------+
    | utf8mb4            | UTF-8 Unicode    |
    | utf16              | UTF-16 Unicode   |
    | utf16le            | UTF-16LE Unicode |
    | utf32              | UTF-32 Unicode   |
    +--------------------+------------------+

    1. SQLServerでGOTOを使用する方法

    2. 致命的なエラー:ブール値のメンバー関数bind_param()の呼び出し

    3. 文字列から数値のみを取得するためのクエリ

    4. mysqlデータベースで出現するすべての文字列を検索します