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.