MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

2 Möglichkeiten, die in MariaDB verfügbaren Zeichensätze zu erhalten

Wenn Sie die in Ihrer MariaDB-Installation verfügbaren Zeichensätze finden müssen, probieren Sie die folgenden zwei Methoden aus.

Der SHOW CHARACTER SET Erklärung

Der SHOW CHARACTER SET -Anweisung ist eine schnelle und einfache Möglichkeit, alle in MariaDB verfügbaren Zeichensätze zurückzugeben. Sie können dies selbst verwenden, um alle Sortierungen zurückzugeben, oder die Ergebnisse mit einem LIKE filtern und/oder WHERE Klausel.

Beispiel:

SHOW CHARACTER SET LIKE 'latin%';

Ergebnis:

+---------+-----------------------------+-------------------+--------+
| 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 diesem Fall habe ich die Ergebnisse auf die Zeichensätze eingegrenzt, die mit latin beginnen .

Beachten Sie, dass wir den LIKE einfügen können -Klausel direkt nach dem SHOW CHARACTER SET Text. Wenn wir dies tun, zeigt es an, welche Sortierungsnamen übereinstimmen.

Hier ist ein weiteres Beispiel, in dem ich sowohl WHERE verwende -Klausel und die LIKE -Klausel sowie das OR Betreiber:

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

Ergebnis:

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

Die information_schema.CHARACTER_SETS Tabelle

Die information_schema.CHARACTER_SETS Tabelle enthält eine vollständige Liste der unterstützten Zeichensätze in MariaDB. Dies ist dieselbe Liste wie SHOW CHARACTER_SETS zurück.

Daher können wir diese Tabelle abfragen, um die Zeichensätze zurückzugeben, die wir zurückgeben möchten. Wir können die Spalten auch auf diejenigen einschränken, die uns interessieren.

Beispiel:

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

Ergebnis:

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

Wie Sie sehen können, gibt es die gleichen Spalten zurück wie SHOW CHARACTER SETS Anweisung gibt zurück.

Dazu wird das Standard-SQL SELECT verwendet -Anweisung können wir unsere Ergebnisse auf vielfältige Weise anpassen. Wir können auch die zurückgegebenen Spalten reduzieren, die Tabelle mit anderen Tabellen verbinden usw.

Hier ist ein Beispiel für die Reduzierung der zurückgegebenen Spalten:

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

Ergebnis:

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