sql >> Base de Datos >  >> RDS >> Mysql

Cómo establecer el conjunto de caracteres y la intercalación de una columna en MySQL

En MySQL, puede especificar el juego de caracteres y la intercalación en varios niveles. Puede especificarlos en el nivel de conexión, el nivel de servidor, el nivel de base de datos, el nivel de tabla y el nivel de columna. También puede especificar una intercalación en sus consultas para que anule cualquier intercalación que se haya especificado previamente en los niveles antes mencionados.

Para configurar el conjunto de caracteres y la intercalación a nivel de columna, puede usar CREATE TABLE sentencia o ALTER TABLE (dependiendo de si está creando la tabla o modificándola) y especifique el conjunto de caracteres y la intercalación dentro de la definición de la columna (la columna en la que desea establecer el conjunto de caracteres/intercalación).

Establecer el conjunto de caracteres y la intercalación

Para establecer el juego de caracteres y la intercalación de una columna específica cuando crea una tabla por primera vez, use el CHARACTER SET y COLLATE cláusulas dentro de CREATE TABLE declaración:

CREATE TABLE Tasks (
    TaskId INT NOT NULL AUTO_INCREMENT,
    TaskName VARCHAR(255) NOT NULL
        CHARACTER SET big5 
        COLLATE big5_chinese_ci,
    PRIMARY KEY (TaskId));

Tenga en cuenta que, en lugar de especificar el juego de caracteres y la intercalación para toda la tabla, solo lo estamos especificando para una columna específica (en este caso, el TaskName columna).

Este ejemplo establece el conjunto de caracteres de la columna en big5 y la colación a big5_chinese_ci . Esto anula cualquier intercalación predeterminada que se haya establecido en los niveles de la base de datos y del servidor.

Cambiar el conjunto de caracteres y la intercalación

Para cambiar el juego de caracteres y la intercalación de una columna existente, use el CHARACTER SET y COLLATE cláusulas dentro de ALTER TABLE declaración:

ALTER TABLE Tasks MODIFY
    TaskName VARCHAR(255)
        CHARACTER SET hebrew
        COLLATE hebrew_general_ci
        NOT NULL;

Esto cambia el conjunto de caracteres de la columna a hebrew y la colación a hebrew_general_ci .

Comprobar la colación

En MySQL Workbench, puede comprobar la intercalación de una columna haciendo clic con el botón derecho en su tabla y seleccionando Alterar tabla... y luego seleccione la columna correspondiente en el panel superior. La intercalación se muestra en los Detalles de la columna panel.

También hay varias formas de comprobar la intercalación de una columna mediante SQL.