MySQL 字符集的系统变量说明

2022-11-12 09:18:23
内容摘要
这篇文章主要为大家详细介绍了MySQL 字符集的系统变量说明,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记!1.character_set_server和colla
文章正文

这篇文章主要为大家详细介绍了MySQL 字符集的系统变量说明,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

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

注:关于MySQL 字符集的系统变量说明的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!