MySQL必知必会-字符集、校对

oneNeko 于 2022-02-22 发布

字符集和校对顺序

数据库表被用来存储和检索数据。不同的语言和字符集需要以不同的方式存储和检索。因此,MySQL需要适应不同的字符集(不同的字母和字符),适应不同的排序和检索数据的方法

# 查看MySQL所支持的字符集完整列表
> SHOW CHARACTER SET;

# 查看MySQL所支持校对的完整列表
> SHOW COLLATION;

# 查看默认字符集和校对
> SHOW VARIABLES LIKE 'character%';
> SHOW VARIABLES LIKE 'collation%';

# 给表指定字符集和校对
> CREATE TABLE mytable(
        columnn1    INT,
        columnn2    VARCHAR(10)
    )
    DEFAULT CHARACTER SET hebrew
    COLLATE hebrew_general_ci;

# 对每列指定字符集和校对
> CREATE TABLE mytable(
        columnn1    INT,
        columnn2    VARCHAR(10),
        columnn2    VARCHAR(10) CHATACTER SET latin1 COLLATE latin1_general_ci
    )
    DEFAULT CHARACTER SET hebrew
    COLLATE hebrew_general_ci;

# 使用与常见表时不同的校对顺序排序特定的SELECT语句
> SELECT * FROM customers
    ORDER BY lastname,firstname COLLATE latin1_general_cs;

如果绝对需要,串可以在字符集之间进行转换。为此使用Cast()Convert()函数

相关

MySQL必知必会-查询

MySQL必知必会-插入、增加、修改、删除

MySQL必知必会-视图、存储过程

MySQL必知必会-游标、触发器、事务管理

MySQL必知必会-字符集、校对