当前位置: 首页 > 图文教程 > 数据库 > MYSQL > mysql 字符集的系统变量说明

MYSQL
mysql "too many connections" 错误 之 mysql解决方法
MySQL: mysql is not running but lock exists 的解决方法
使用mysql中遇到的几个问题
MySQL一个索引最多有多少个列?真实的测试例子
MySQL里Create Index 能否创建主键 Primary Key
MySQL 创建索引(Create Index)的方法和语法结构及例子
MYSQL 优化常用方法
linux mysql 找回密码
mysql 动态执行存储过程语句
MySQL 查找价格最高的图书经销商的几种SQL语句
MySQL 客户端不输入用户名和密码直接连接数据库的2个方法
mysql 查询表中平均分最低的班级
mysql 左连接、右连接和内连接
Mysql LONGBLOB 类型存储二进制数据 (修改+调试+整理)
Mysql LONGTEXT 类型存储大文件(二进制也可以) (修改+调试+整理)
Mysql 插入中文及中文查询 (修改+调试)
mysql 数据表中查找重复记录
MySql .frm数据库文件导入的问题
解决hibernate+mysql写入数据库乱码
mySQL UNION运算符的默认规则研究

MYSQL 中的 mysql 字符集的系统变量说明


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 60 ::
收藏到网摘: n/a

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