sql >> Databasteknik >  >> RDS >> MariaDB

2 sätt att få de teckenuppsättningar som finns tillgängliga i MariaDB

Om du behöver hitta teckenuppsättningarna som är tillgängliga i din MariaDB-installation, kolla in följande två metoder.

SHOW CHARACTER SET Uttalande

SHOW CHARACTER SET statement är ett snabbt och enkelt sätt att returnera alla teckenuppsättningar 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 CHARACTER SET LIKE 'latin%';

Resultat:

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

I det här fallet har jag begränsat resultaten till bara de teckenuppsättningar som börjar med latin .

Observera att vi kan inkludera LIKE satsen omedelbart efter SHOW CHARACTER SET 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 satsen, såväl som OR operatör:

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

Resultat:

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

information_schema.CHARACTER_SETS Tabell

information_schema.CHARACTER_SETS Tabellen innehåller en fullständig lista över teckenuppsättningar som stöds i MariaDB. Detta är samma lista som SHOW CHARACTER_SETS returnerar.

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

Exempel:

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

Resultat:

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

Som du kan se returnerar den samma kolumner som SHOW CHARACTER SET 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 
    CHARACTER_SET_NAME,
    DESCRIPTION
FROM information_schema.CHARACTER_SETS
WHERE CHARACTER_SET_NAME LIKE 'utf%'
AND MAXLEN = '4';

Resultat:

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

  1. LISTAGG i Oracle för att returnera distinkta värden

  2. MySQL SELECT DISTINCT flera kolumner

  3. Leverera snabbare innovation till MariaDB:s community

  4. SQL Server-pivottabell med flera kolumnaggregat