为了账号安全,请及时绑定邮箱和手机立即绑定

mysql 字符集的系统变量说明

标签:
MySQL

           1.character_set_server和collation_server
这两个变量是服务器的字符集。在系统启动的时候可以通过--character-set-server和--collation-server来设置它们。如果没有的话系统会把这两各变量设置成默认值latin1和latin1_swedish_ci。默认值是编译在程序中的,只能通过重新编译来改变。
这两个变量只用来为create database命令提供默认值。
2.character_set_database和collation_database
这两个变量是当前数据库的字符集。create database命令有两个参数可以用来设置数据库的字符集和比较规则。数据库建立会在数据库目录下的db.opt文件中记录数据库的选项,数据库的字符集设置也记录在里面。当我们用use改变当前数据库时,mysql会读数据库db.opt文件来设置这两个变量。当没有当前数据库的时候这两个变量等于character_set_server和collation_server。
这两个变量只用来为create table命令提供默认值。
3.character_set_client
这个变量用来决定mysql怎么解释客户端发到服务器的SQL命令文字。
4.character_set_connection和collation_connection
这两个变量用来决定mysql怎么处理客户端发来的SQL命令。mysql会把SQL命令文字从character_set_client编码转到character_set_connection然后再执行。collation_connection在比较SQL中的直接量时使用。
5.character_set_results
当SQL有结果返回的时候这个变量用来决定发给客户端的结果中文字量的编码。

还有几个字符集概念没有系统变量表示。
6.表的字符集
create table 的参数里可以设置,为列的字符集提供默认值。
7.列的字符集
决定本列的文字数据的存储编码。列的比较规则比collation_connection高。也就是说mysql会把SQL中的文字直接量转成列的字符集后再与列的文字数据比较。
8.character_set_system
这是元数据的字符集,数据库,表和列的定义都是用的这个字符集。它有一个定值, 是utf-8                                

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消