sql >> Base de Datos >  >> RDS >> MariaDB

3 formas de obtener las intercalaciones disponibles en MariaDB

Si necesita encontrar las intercalaciones que están disponibles en su instalación de MariaDB, consulte los siguientes tres métodos.

El SHOW COLLATIONS Declaración

Las SHOW COLLATIONS declaración es una forma rápida y fácil de devolver todas las intercalaciones disponibles en MariaDB. Puede usar esto por sí mismo para devolver todas las intercalaciones, o filtrar los resultados con LIKE y/o WHERE cláusula.

Ejemplo:

SHOW COLLATION LIKE 'latin7%';

Resultado:

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

En este caso, reduje los resultados a solo aquellas intercalaciones que comienzan con latin7 .

Note que podemos incluir el LIKE cláusula inmediatamente después de SHOW COLLATION texto. Cuando hacemos esto, indica qué nombres de intercalación hacer coincidir.

Aquí hay otro ejemplo en el que uso tanto WHERE cláusula y LIKE cláusula:

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

Resultado:

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

El esquema de información COLLATIONS Mesa

El information_schema.COLLATIONS La tabla contiene una lista completa de intercalaciones admitidas en MariaDB. Esta es la misma lista que SHOW COLLATIONS regresa.

Por lo tanto, podemos consultar esta tabla para devolver las colaciones que queremos devolver. También podemos reducir las columnas a solo aquellas que nos interesan.

Ejemplo:

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

Resultado:

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

Como puede ver, devuelve las mismas columnas que SHOW COLLATIONS estado de cuenta devuelve.

Dado esto, utiliza el SQL estándar SELECT declaración, podemos personalizar nuestros resultados en un gran número de formas. También podemos reducir las columnas devueltas, unir la tabla con otras tablas, etc.

Aquí hay un ejemplo de cómo reducir las columnas devueltas:

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

Resultado:

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

El esquema de información COLLATION_CHARACTER_SET_APPLICABILITY Mesa

El information_schema.COLLATION_CHARACTER_SET_APPLICABILITY la tabla contiene un subconjunto de information_schema.COLLATIONS mesa. Contiene las mismas intercalaciones y conjuntos de caracteres, pero eso es todo. Con eso quiero decir que solo contiene menos columnas.

Ejemplo:

SELECT * 
FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
LIMIT 10;

Resultado:

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

En este caso utilicé el LIMIT cláusula para limitar las filas devueltas a solo 10. De lo contrario, habría devuelto 322 filas.