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

2 måder at få de tilgængelige tegnsæt i MariaDB

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

SHOW CHARACTER SET Erklæring

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

Eksempel:

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 dette tilfælde indsnævrede jeg resultaterne til kun de tegnsæt, der starter med latin .

Bemærk, at vi kan inkludere LIKE klausul umiddelbart efter SHOW CHARACTER SET 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 klausulen, samt 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 Tabel

information_schema.CHARACTER_SETS tabel indeholder en komplet liste over understøttede tegnsæt i MariaDB. Dette er den samme liste som SHOW CHARACTER_SETS vender tilbage.

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

Eksempel:

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, returnerer den de samme kolonner, som SHOW CHARACTER SETS 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, slå tabellen sammen med andre tabeller osv.

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

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. Kommenter karakter/karakterer i postgres / postgresql / psql?

  2. Hvad er forskellen mellem backtick og firkantet parentes i SQL-sætninger?

  3. Hvordan kopierer man data fra en tabel til en anden ny tabel i MySQL?

  4. Vil du slette alle poster undtagen den seneste?