sql >> Database >  >> RDS >> MariaDB

3 manieren om de verzamelingen beschikbaar te krijgen in MariaDB

Als je de sorteringen wilt vinden die beschikbaar zijn in je MariaDB-installatie, bekijk dan de volgende drie methoden.

De SHOW COLLATIONS Verklaring

De SHOW COLLATIONS statement is een snelle en gemakkelijke manier om alle beschikbare sorteringen in MariaDB te retourneren. U kunt dit op zichzelf gebruiken om alle sorteringen terug te geven, of u kunt de resultaten filteren met een LIKE en/of WHERE clausule.

Voorbeeld:

SHOW COLLATION LIKE 'latin7%';

Resultaat:

+-------------------------+---------+------+---------+----------+---------+
| Collation               | Charset | Id   | Default | Compiled | Sortlen |
+-------------------------+---------+------+---------+----------+---------+
| latin7_estonian_cs      | latin7  |   20 |         | Yes      |       1 |
| latin7_general_ci       | latin7  |   41 | Yes     | Yes      |       1 |
| latin7_general_cs       | latin7  |   42 |         | Yes      |       1 |
| latin7_bin              | latin7  |   79 |         | Yes      |       1 |
| latin7_general_nopad_ci | latin7  | 1065 |         | Yes      |       1 |
| latin7_nopad_bin        | latin7  | 1103 |         | Yes      |       1 |
+-------------------------+---------+------+---------+----------+---------+

In dit geval heb ik de resultaten beperkt tot alleen die sorteringen die beginnen met latin7 .

Merk op dat we de LIKE . kunnen opnemen clausule onmiddellijk na de SHOW COLLATION tekst. Wanneer we dit doen, geeft het aan welke sorteernamen overeenkomen.

Hier is nog een voorbeeld waarbij ik zowel de WHERE clausule en de LIKE clausule:

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

Resultaat:

+---------------------+---------+-----+---------+----------+---------+
| Collation           | Charset | Id  | Default | Compiled | Sortlen |
+---------------------+---------+-----+---------+----------+---------+
| utf8_thai_520_w2    | utf8    | 578 |         | Yes      |       4 |
| utf8mb4_thai_520_w2 | utf8mb4 | 610 |         | Yes      |       4 |
| utf16_thai_520_w2   | utf16   | 674 |         | Yes      |       4 |
| utf32_thai_520_w2   | utf32   | 738 |         | Yes      |       4 |
+---------------------+---------+-----+---------+----------+---------+

Het informatieschema COLLATIONS Tabel

De information_schema.COLLATIONS tabel bevat een volledige lijst van ondersteunde sorteringen in MariaDB. Dit is dezelfde lijst die SHOW COLLATIONS retourneert.

Daarom kunnen we deze tabel opvragen om de sorteringen te retourneren die we willen retourneren. We kunnen de kolommen ook verkleinen tot alleen die waarin we geïnteresseerd zijn.

Voorbeeld:

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

Resultaat:

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

Zoals u kunt zien, retourneert het dezelfde kolommen als de SHOW COLLATIONS verklaring retourneert.

Aangezien dit de standaard SQL gebruikt SELECT verklaring, kunnen we onze resultaten op een groot aantal manieren aanpassen. We kunnen ook het aantal geretourneerde kolommen verkleinen, de tabel samenvoegen met andere tabellen, enz.

Hier is een voorbeeld van het verkleinen van de geretourneerde kolommen:

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

Resultaat:

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

Het informatieschema COLLATION_CHARACTER_SET_APPLICABILITY Tabel

De information_schema.COLLATION_CHARACTER_SET_APPLICABILITY tabel bevat een subset van de information_schema.COLLATIONS tafel. Het bevat dezelfde sorteringen en tekensets, maar dat is alles. Daarmee bedoel ik dat het gewoon minder kolommen bevat.

Voorbeeld:

SELECT * 
FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
LIMIT 10;

Resultaat:

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

In dit geval gebruikte ik de LIMIT clausule om het aantal geretourneerde rijen te beperken tot slechts 10. Anders zou het 322 rijen hebben geretourneerd.


  1. Fout 28000:Inloggen mislukt voor gebruiker DOMAIN\\gebruiker met pyodbc

  2. MariaDB JSON_TABLE() uitgelegd

  3. Rollen en statussen in een systeem beheren

  4. Installeer en maak verbinding met PostgreSQL 10 op Ubuntu 16.04