sql >> Databáze >  >> RDS >> MariaDB

3 způsoby, jak zpřístupnit kolace v MariaDB

Pokud potřebujete najít kolace, která jsou k dispozici ve vaší instalaci MariaDB, vyzkoušejte následující tři metody.

Položka SHOW COLLATIONS Prohlášení

SHOW COLLATIONS statement je rychlý a snadný způsob, jak vrátit všechna kolace dostupná v MariaDB. Toto můžete použít samostatně k vrácení všech porovnávání nebo filtrovat výsledky pomocí LIKE a/nebo WHERE doložka.

Příklad:

SHOW COLLATION LIKE 'latin7%'; 

Výsledek:

+-------------------------+---------+------+--- ------+----------+---------+| Řazení | Charset | Id | Výchozí | Sestaveno | Sortlen |+-------------------------+---------+------+---- -----+----------+---------+| latin7_estonian_cs | latin7 | 20 | | Ano | 1 || latin7_general_ci | latin7 | 41 | Ano | Ano | 1 || latin7_general_cs | latin7 | 42 | | Ano | 1 || latin7_bin | latin7 | 79 | | Ano | 1 || latin7_general_nopad_ci | latin7 | 1065 | | Ano | 1 || latin7_nopad_bin | latin7 | 1103 | | Ano | 1 |+-------------------------+---------+------+---- -----+----------+---------+

V tomto případě jsem zúžil výsledky pouze na kolace, která začínají latin7 .

Všimněte si, že můžeme zahrnout LIKE klauzule bezprostředně za SHOW COLLATION text. Když to uděláme, indikuje to, které názvy řazení se mají shodovat.

Zde je další příklad, kde používám obě WHERE klauzule a LIKE klauzule:

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

Výsledek:

+---------------------+---------+-----+-------- -+----------+---------+| Řazení | Charset | Id | Výchozí | Sestaveno | Sortlen |+---------------------+---------+-----+---------- +----------+---------+| utf8_thai_520_w2 | utf8 | 578 | | Ano | 4 || utf8mb4_thai_520_w2 | utf8mb4 | 610 | | Ano | 4 || utf16_thai_520_w2 | utf16 | 674 | | Ano | 4 || utf32_thai_520_w2 | utf32 | 738 | | Ano | 4 |+---------------------+---------+-----+---------- +----------+---------+

Informační schéma COLLATIONS Tabulka

information_schema.COLLATIONS tabulka obsahuje úplný seznam podporovaných porovnávání v MariaDB. Toto je stejný seznam, který SHOW COLLATIONS vrátí.

Proto můžeme dotaz na tuto tabulku vrátit kolace, která chceme vrátit. Můžeme také zúžit sloupce pouze na ty, které nás zajímají.

Příklad:

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

Výsledek:

+---------------------+--------------------+--- --+------------+-------------+---------+| COLLATION_NAME | CHARACTER_SET_NAME | ID | IS_DEFAULT | IS_COMPILED | SORTLEN |+---------------------+--------------------+---- -+------------+-------------+---------+| utf8_thai_520_w2 | utf8 | 578 | | Ano | 4 || utf8mb4_thai_520_w2 | utf8mb4 | 610 | | Ano | 4 || utf16_thai_520_w2 | utf16 | 674 | | Ano | 4 || utf32_thai_520_w2 | utf32 | 738 | | Ano | 4 |+---------------------+--------------------+---- -+------------+-------------+---------+

Jak vidíte, vrací stejné sloupce jako SHOW COLLATIONS příkaz vrátí.

Vzhledem k tomu používá standardní SQL SELECT můžeme naše výsledky přizpůsobit mnoha způsoby. Můžeme také snížit vrácené sloupce, spojit tabulku s jinými tabulkami atd.

Zde je příklad zmenšení vrácených sloupců:

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

Výsledek:

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

Informační schéma COLLATION_CHARACTER_SET_APPLICABILITY Tabulka

information_schema.COLLATION_CHARACTER_SET_APPLICABILITY tabulka obsahuje podmnožinu information_schema.COLLATIONS stůl. Obsahuje stejná kolace a znakové sady, ale to je vše. Tím chci říct, že obsahuje méně sloupců.

Příklad:

SELECT * 
FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
LIMIT 10; 

Výsledek:

+-----------------------+--------------------+| COLLATION_NAME | CHARACTER_SET_NAME |+-----------------------+--------------------+| big5_chinese_ci | velký5 || big5_bin | velký5 || big5_chinese_nopad_ci | velký5 || big5_nopad_bin | velký5 || dec8_swedish_ci | prosince || dec8_bin | prosince || dec8_swedish_nopad_ci | prosince || dec8_nopad_bin | prosince || cp850_general_ci | cp850 || cp850_bin | cp850 |+-----------------------+--------------------+ 

V tomto případě jsem použil LIMIT klauzule k omezení vrácených řádků na pouhých 10. Jinak by vrátila 322 řádků.


  1. Chyba při přejmenování sloupce v MySQL

  2. Oracle JDBC:neplatné uživatelské jméno/heslo (ora-01017)

  3. PostgreSQL privilegia a správa uživatelů – co byste měli vědět

  4. Spouštěče přihlášení na serveru SQL Server