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

3 Möglichkeiten, die in MariaDB verfügbaren Sortierungen zu erhalten

Wenn Sie die Sortierungen finden müssen, die in Ihrer MariaDB-Installation verfügbar sind, probieren Sie die folgenden drei Methoden aus.

Die SHOW COLLATIONS Erklärung

Die SHOW COLLATIONS -Anweisung ist eine schnelle und einfache Möglichkeit, alle in MariaDB verfügbaren Sortierungen 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 COLLATION LIKE 'latin7%'; 

Ergebnis:

+-------------------------+---------+------+--- ------+----------+---------+| Sortierung | Zeichensatz | ID | Standard | Zusammengestellt | Sortlen |+--------------------+---------+------+---- -----+----------+---------+| latin7_estnisch_cs | lateinisch7 | 20 | | Ja | 1 || latin7_general_ci | lateinisch7 | 41 | Ja | Ja | 1 || latin7_general_cs | lateinisch7 | 42 | | Ja | 1 || latin7_bin | lateinisch7 | 79 | | Ja | 1 || latin7_general_nopad_ci | lateinisch7 | 1065 | | Ja | 1 || latin7_nopad_bin | lateinisch7 | 1103 | | Ja | 1 |+-------------------------+---------+------+---- -----+----------+---------+

In diesem Fall habe ich die Ergebnisse auf die Sortierungen eingegrenzt, die mit latin7 beginnen .

Beachten Sie, dass wir den LIKE einfügen können -Klausel unmittelbar nach SHOW COLLATION 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:

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

Ergebnis:

+---------------------+---------+-----+-------- -+----------+---------+| Sortierung | Zeichensatz | ID | Standard | Zusammengestellt | Sortlen |+---------------------+---------+-----+--------- +----------+---------+| utf8_thai_520_w2 | utf8 | 578 | | Ja | 4 || utf8mb4_thai_520_w2 | utf8mb4 | 610 | | Ja | 4 || utf16_thai_520_w2 | utf16 | 674 | | Ja | 4 || utf32_thai_520_w2 | utf32 | 738 | | Ja | 4 |+---------------------+---------+-----+--------- +----------+---------+

Das Informationsschema COLLATIONS Tabelle

Die information_schema.COLLATIONS Die Tabelle enthält eine vollständige Liste der unterstützten Sortierungen in MariaDB. Dies ist die gleiche Liste, die SHOW COLLATIONS zurück.

Daher können wir diese Tabelle abfragen, um die Sortierungen 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.COLLATIONS
WHERE COLLATION_NAME LIKE 'utf%'
AND SORTLEN = '4'; 

Ergebnis:

+---------------------+--------------------+--- --+-----------+------------+---------+| COLLATION_NAME | CHARACTER_SET_NAME | Ausweis | IS_DEFAULT | IS_COMPILED | SORTIEREN |+---------------------+--------------------+---- -+------------+------------+---------+| utf8_thai_520_w2 | utf8 | 578 | | Ja | 4 || utf8mb4_thai_520_w2 | utf8mb4 | 610 | | Ja | 4 || utf16_thai_520_w2 | utf16 | 674 | | Ja | 4 || utf32_thai_520_w2 | utf32 | 738 | | Ja | 4 |+---------------------+--------------------+---- -+------------+------------+---------+

Wie Sie sehen können, gibt es dieselben Spalten zurück wie SHOW COLLATIONS 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 
    COLLATION_NAME, 
    CHARACTER_SET_NAME 
FROM information_schema.COLLATIONS
WHERE COLLATION_NAME LIKE 'utf%'
AND SORTLEN = '4'; 

Ergebnis:

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

Das Informationsschema COLLATION_CHARACTER_SET_APPLICABILITY Tabelle

Das information_schema.COLLATION_CHARACTER_SET_APPLICABILITY Tabelle enthält eine Teilmenge der information_schema.COLLATIONS Tisch. Es enthält die gleichen Sortierungen und Zeichensätze, aber das ist alles. Damit meine ich, dass es nur weniger Spalten enthält.

Beispiel:

SELECT * 
FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
LIMIT 10; 

Ergebnis:

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

In diesem Fall habe ich das LIMIT verwendet -Klausel, um die zurückgegebenen Zeilen auf nur 10 zu begrenzen. Andernfalls wären 322 Zeilen zurückgegeben worden.