sql >> Databasteknik >  >> RDS >> MariaDB

3 sätt att få de sorteringar som är tillgängliga i MariaDB

Om du behöver hitta de sorteringar som är tillgängliga i din MariaDB-installation, kolla in följande tre metoder.

SHOW COLLATIONS Uttalande

SHOW COLLATIONS statement är ett snabbt och enkelt sätt att returnera alla sorteringar som finns tillgängliga i MariaDB. Du kan använda detta för att returnera alla sorteringar, eller filtrera resultaten med en LIKE och/eller WHERE klausul.

Exempel:

SHOW COLLATION LIKE 'latin7%'; 

Resultat:

+------------------------+---------+------+--- ------+----------+---------+| Samling | Teckenuppsättning | Id | Standard | Sammanställd | Sortlen |+-------------------------+--------+------+---- -----+----------+---------+| latin7_estonian_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 det här fallet har jag begränsat resultaten till bara de sammanställningar som börjar med latin7 .

Observera att vi kan inkludera LIKE satsen omedelbart efter SHOW COLLATION text. När vi gör detta indikerar det vilka sorteringsnamn som ska matchas.

Här är ett annat exempel där jag använder både WHERE satsen och LIKE klausul:

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

Resultat:

+---------------------+--------+-----+-------- -+----------+---------+| Samling | Teckenuppsättning | Id | Standard | Sammanställd | 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 |+---------------------+--------+------+-------- +--------+---------+

Informationsschemat COLLATIONS Tabell

information_schema.COLLATIONS Tabellen innehåller en fullständig lista över sammanställningar som stöds i MariaDB. Detta är samma lista som SHOW COLLATIONS returnerar.

Därför kan vi fråga den här tabellen för att returnera de sorteringar vi vill returnera. Vi kan också begränsa kolumnerna till bara de vi är intresserade av.

Exempel:

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 returnerar den samma kolumner som SHOW COLLATIONS uttalande returnerar.

Givet detta använder standard SQL SELECT uttalande, kan vi anpassa våra resultat på ett stort antal sätt. Vi kan också minska antalet returnerade kolumner, sammanfoga tabellen med andra tabeller, etc.

Här är ett exempel på hur du kan minska antalet returnerade kolumner:

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

Informationsschemat COLLATION_CHARACTER_SET_APPLICABILITY Tabell

information_schema.COLLATION_CHARACTER_SET_APPLICABILITY Tabellen innehåller en delmängd av information_schema.COLLATIONS tabell. Den innehåller samma sammanställningar och teckenuppsättningar, men det är allt. Med det menar jag att den bara innehåller färre kolumner.

Exempel:

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_swedish_ci | dec8 || dec8_bin | dec8 || dec8_swedish_nopad_ci | dec8 || dec8_nopad_bin | dec8 || cp850_general_ci | cp850 || cp850_bin | cp850 |+-----------------------+------------------------+ 

I det här fallet använde jag LIMIT klausul för att begränsa antalet returnerade rader till bara 10. Annars skulle det ha returnerat 322 rader.


  1. Skicka in VAR parametrar till PostgreSQL View?

  2. Hur använder jag det aktuella datumet i en HQL-fråga med en Oracle-databas?

  3. Hur man skapar främmande nyckelbegränsningar med ON DELETE SET NULL-alternativet i SQL Server - SQL Server / TSQL Tutorial Del 81

  4. Hur UPDATEXML() fungerar i MariaDB