12-10. MySQL字符集和校对规则解读(服务器级、数据库级、表级、字段级)

本文详细介绍了MySQL中字符集和校对规则的四个层级设置:服务器级、数据库级、表级、字段级。包括如何在配置文件、启动项、数据库创建、表创建时指定字符集与校对规则,以及查看和修改现有数据库和表的字符集与校对规则的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL内的字符集和校对规则有4个规则的默认设置:服务器级、数据库级、表级、字段级

 

服务器字符集和校对规则配置:

  • 在配置文件中设置 

[mysqld]

character-set-server=utf8 

  • 或者启动项中指定

mysql  --character-set-server=utf8

  • 或者在编译的时候指定

 

数据库字符集和校对规则

  • 创建数据库:

 create database db_name

[[DEFAULT] CHARACTER SET charset_name]

[[DEFAULT] COLLATE collation_name]

 

  • 查看当前数据库的字符集和校对规则:

show variables like 'character_set_database';

show variables like 'collation_database';

 

  • 修改数据库(一般很少用,再改太复杂):

alter database db_name

[[DEFAULT] CHARACTER SET charset_name]

[[DEFAULT] COLLATE collation_name]

 

数据库字符集和校对规则设置

  • 如果指定了字符集和校对规则,那么就使用指定的字符集和校对规则

 

  • 如果指定了字符集但没有指定校对规则,那么就使用默认的校对规则

 

  • 如果指定了校对规则但没有指定字符集,那么字符集使用与该校对规则关联的字符集

 

表字符集和校对规则设置

  • 创建表:

create table tb1_name (column_list)

[default character set charset_name [collate collation_name]]

如果创建表的时候没有指定字符集和校对规则,则使用上一级的字符集和校对规则(上一级即数据库级)

 

  • 修改表(很少用):

alter table tb1_name

[default character set charset_name [collate collation_name]]

 

字段(列)字符集和校对规则

遇到这种情况比较小,这只是MySQL提供给我们灵活设置的手段

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值