charset & collation
来源:互联网 发布:护士资格考试视频软件 编辑:程序博客网 时间:2024/05/21 07:54
常用命令
#查看mysql服务器字符集和校对规则的方法:show variables like 'character_set_%'; //其中character_set_server就是当前服务器的使用的字符集show variables like 'collation_%'; //其中collation_server就是当前服务器使用的校对规则#查看数据库字符集和校对规则mysql> use 数据库名mysql> show variables like 'character_set_%';mysql> show variables like 'collation_%';#还可以使用如下命令查看字符集:mysql> show create database 数据库名#查看数据表字符集和校对规则的方法:mysql> show create table 表名mysql> show table status#查看字段的的字符集和校对规则方法:mysql> show create table 数据表名mysql> show full columns from 数据表名
注意:在没有设置字符集时,系统会自动分配字符集给它们,继承关系是:字段继承表,表继承库,库继承服务器。
charset
字符集是一套字符和编码的集合,校对规则是用于比较字符集的一套规则。
特点:
①字符编码方式是用一个或多个字节表示字符集中的一个字符
②每种字符集都有自己特有的编码方式,因此同一个字符,在不同字符集的编码方式下,会产生不同的二进制
## 设置字符集编码 mysql> set names 'utf8';相当于同时: set character_set_client = utf8; set character_set_results = utf8; set character_set_connection = utf8;## 修改数据库字符集 mysql> alter database database_name character set xxx; 只修改库的字符集,影响后续创建的表的默认定义;对于已创建的表的字符集不受影响。(一般在数据库实现字符集即可,表和列都默认采用数据库的字符集)## 修改表的字符集 mysql> alter table table_name character set xxx; 只修改表的字符集,影响后续该表新增列的默认定义,已有列的字符集不受影响。 mysql> alter table table_name convert to character set xxx; 同时修改表字符集和已有列字符集,并将已有数据进行字符集编码转换。## 修改列字符集格式:ALTER TABLE table_name MODIFYcolumn_name {CHAR | VARCHAR | TEXT} (column_length) [CHARACTER SET charset_name] [COLLATE collation_name]mysql> alter table table_name modify col_name varchar(col_length) character set xxx;
collation
mysqlCOLLATE是校对集的意思,可以理解为,排序规则等。
可以对表进行字符序的设置,也可以单独对某个字段进行字符序的设置。一个字符集类型,它的字符序可能有多个;
校对规则特征:
①两个不同的字符集不能有相同的校对规则;
②每个字符集有一个默认校对规则;
③存在校对规则命名约定:以其相关的字符集名开始,中间包括一个语言名,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二元)结束。
#查看数据库所支持的校对集show collation
说明
修改
校对集:数据比较方式;必须在无数据前进行声明,如果有了数据再进行数据修改,那么修改无效!
命名
mysql的字符序遵从命名惯例。以_ci(表示大小写不敏感),以_cs(表示大小写敏感),以_bin(表示用编码值进行比较)。
_bin:binary,二进制比较,取出二进制位,一位一位进行比较,区分大小写;
_cs:case sensitive,大小写敏感,区分大小写;
_ci:case insensitive,大小写不敏感,不区分大小写。
ci 是 case insensitive 的缩写, cs 是 case sensitive 的缩写。即,指定大小写是否敏感。
注意:
系统使用utf8字符集,若使用utf8_bin校对规则执行SQL查询时区分大小写,使用utf8_general_ci不区分大小写(默认的utf8字符集对应的校对规则是utf8_general_ci)。
- charset & collation
- mysql change table charset and collation
- MySql: charset 和 collation的设置
- MySql:charset和collation的设置
- charset
- charset
- charset
- CharSet
- nysql collation
- SQL Collation
- update collation
- MySQL collation
- MySQL collation
- mysql collation
- Charset、charset、pageEncoding
- MySQL 的 collation
- MySQL字符集,Collation
- Changing Server Default Collation
- Zabbix利用Orabbix插件监控Oracle数据库(增强版)--里面有orabbix报错的处理方法
- 第一次安装MySQL注意的问题
- 在 vue-cli 脚手架中引用 jQuery、bootstrap 以及使用 sass、less 编写 css [vue-cli配置入门]
- 57. Insert Interval
- Shader学习笔记(三)
- charset & collation
- linux下安装anaconda,torch,tensorflow
- 【UGUI】UGUI 基础知识(代码设置锚点)
- android学习路线
- 学习笔记-自定义密码输入框和自定义数字密码软键盘
- 决策树学习笔记(一)
- Spring 的四种方式依赖注入
- iOS 高德地图怎么在屏幕内显示所有的Marker?
- Python中的闭包