sql >> Database >  >> RDS >> MariaDB

2 manieren om de karaktersets beschikbaar te krijgen in MariaDB

Als je de tekensets wilt vinden die beschikbaar zijn in je MariaDB-installatie, bekijk dan de volgende twee methoden.

De SHOW CHARACTER SET Verklaring

De SHOW CHARACTER SET statement is een snelle en gemakkelijke manier om alle tekensets die beschikbaar zijn in MariaDB te retourneren. U kunt dit op zichzelf gebruiken om alle sorteringen terug te geven, of u kunt de resultaten filteren met een LIKE en/of WHERE clausule.

Voorbeeld:

SHOW CHARACTER SET LIKE 'latin%';

Resultaat:

+---------+-----------------------------+-------------------+--------+
| 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 |
+---------+-----------------------------+-------------------+--------+

In dit geval heb ik de resultaten beperkt tot alleen die tekensets die beginnen met latin .

Merk op dat we de LIKE . kunnen opnemen clausule onmiddellijk na de SHOW CHARACTER SET tekst. Wanneer we dit doen, geeft het aan welke sorteernamen overeenkomen.

Hier is nog een voorbeeld waarbij ik zowel de WHERE clausule en de LIKE clausule, evenals de OR operator:

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

Resultaat:

+---------+---------------------------+---------------------+--------+
| 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 |
+---------+---------------------------+---------------------+--------+

De information_schema.CHARACTER_SETS Tabel

De information_schema.CHARACTER_SETS tabel bevat een volledige lijst van ondersteunde tekensets in MariaDB. Dit is dezelfde lijst die SHOW CHARACTER_SETS retourneert.

Daarom kunnen we deze tabel opvragen om de tekensets te retourneren die we willen retourneren. We kunnen de kolommen ook verkleinen tot alleen die waarin we geïnteresseerd zijn.

Voorbeeld:

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

Resultaat:

+--------------------+----------------------+------------------+--------+
| 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 |
+--------------------+----------------------+------------------+--------+

Zoals je kunt zien, retourneert het dezelfde kolommen die de SHOW CHARACTER SETS verklaring retourneert.

Aangezien dit de standaard SQL gebruikt SELECT verklaring, kunnen we onze resultaten op een groot aantal manieren aanpassen. We kunnen ook het aantal geretourneerde kolommen verkleinen, de tabel samenvoegen met andere tabellen, enz.

Hier is een voorbeeld van het verkleinen van de geretourneerde kolommen:

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

Resultaat:

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

  1. Wat is de beste manier om Polymorphic Association in SQL Server te implementeren?

  2. Strings samenvoegen in MySQL met CONCAT()

  3. Converteer tekstwaarde in SQL Server van UTF8 naar ISO 8859-1

  4. Oproep naar ongedefinieerde functie oci_connect, php_oci8_12c.dll, windows 8.1, php5.6.6