sql >> Database teknologi >  >> RDS >> MariaDB

3 måder at få sorteringerne tilgængelige i MariaDB

Hvis du har brug for at finde de sorteringer, der er tilgængelige i din MariaDB-installation, så tjek følgende tre metoder.

SHOW COLLATIONS Erklæring

SHOW COLLATIONS statement er en hurtig og nem måde at returnere alle de tilgængelige sorteringer i MariaDB. Du kan bruge dette alene til at returnere alle sammenstillinger eller filtrere resultaterne med en LIKE og/eller WHERE klausul.

Eksempel:

SHOW COLLATION LIKE 'latin7%'; 

Resultat:

+------------------------+--------+------+--- ------+----------+---------+| Samling | Tegnsæt | Id | Standard | Kompileret | Sortlen |+-------------------------+--------+------+---- -----+----------+---------+| latin7_estisk_cs | latin7 | 20 | | Ja | 1 || latin7_general_ci | latin7 | 41 | Ja | Ja | 1 || latin7_general_cs | latin7 | 42 | | Ja | 1 || latin7_bin | latin7 | 79 | | Ja | 1 || latin7_general_nopad_ci | latin7 | 1065 | | Ja | 1 || latin7_nopad_bin | latin7 | 1103 | | Ja | 1 |+-------------------------+--------+------+---- -----+----------+---------+

I dette tilfælde indsnævrede jeg resultaterne til kun de sammenstillinger, der starter med latin7 .

Bemærk, at vi kan inkludere LIKE klausul umiddelbart efter SHOW COLLATION tekst. Når vi gør dette, angiver det, hvilke sorteringsnavne der skal matche.

Her er et andet eksempel, hvor jeg bruger både WHERE klausulen og LIKE klausul:

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

Resultat:

+---------------------+--------+-----+-------- -+----------+---------+| Samling | Tegnsæt | Id | Standard | Kompileret | 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 |+---------------------+--------+------+-------- +--------+---------+

Oplysningsskemaet COLLATIONS Tabel

information_schema.COLLATIONS tabel indeholder en komplet liste over understøttede sammenstillinger i MariaDB. Dette er den samme liste som SHOW COLLATIONS vender tilbage.

Derfor kan vi forespørge i denne tabel for at returnere de sorteringer, vi ønsker at returnere. Vi kan også indsnævre kolonnerne til kun dem, vi er interesserede i.

Eksempel:

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

Resultat:

+---------------------+------------------------+--- --+------------+-------------+---------+| COLLATION_NAME | CHARACTER_SET_NAME | ID | IS_DEFAULT | IS_COMPILED | 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 |+---------------------+--------------------+---- --+------------+-------------+---------+

Som du kan se, returnerer den de samme kolonner som SHOW COLLATIONS erklæring returnerer.

Givet dette bruger standard SQL SELECT statement, kan vi tilpasse vores resultater på en lang række måder. Vi kan også reducere de returnerede kolonner, sammensætte tabellen med andre tabeller osv.

Her er et eksempel på reduktion af de returnerede kolonner:

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

Resultat:

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

Oplysningsskemaet COLLATION_CHARACTER_SET_APPLICABILITY Tabel

information_schema.COLLATION_CHARACTER_SET_APPLICABILITY tabel indeholder et undersæt af information_schema.COLLATIONS bord. Den indeholder de samme sammenstillinger og tegnsæt, men det er alt. Med det mener jeg, at den bare indeholder færre kolonner.

Eksempel:

SELECT * 
FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
LIMIT 10; 

Resultat:

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

I dette tilfælde brugte jeg LIMIT klausul for at begrænse antallet af returnerede rækker til kun 10. Ellers ville det have returneret 322 rækker.


  1. Hvordan opretter man dummy-variable kolonner for tusindvis af kategorier i Google BigQuery?

  2. Hvordan får jeg Java- og Postgres-enums til at fungere sammen til opdatering?

  3. Oracle SQL Injection Block med DBMS_ASSERT

  4. Oprettelse af en trigger til kun at køre, når en ny tabel oprettes