mysql字符集操作

阅读更多

 

 

1.查看字符集编码设置

 show variables like '%character%';

   

 

 

     mysql字符集操作_第1张图片

 

2.设置字符集编码

set names 'utf8';

 

 

相当于同时:

 

  

set character_set_client = utf8;

set character_set_results = utf8;

set character_set_connection = utf8;

 

 

 

 

3、创建数据库并设置字符集编码和核对。

 

CREATE DATABASE IF NOT EXISTS  DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

 

 

 

在默认情况下:

数据库服务器编码->数据库编码->数据表编码->字段编码

 

因此,后面的创建是数据表、字段默认都会以数据库字符集进行编码。

 

 

4、修改数据库的字符集 编码/核对

ALTER DATABASE  CHARACTER SET utf8 COLLATE utf8_general_ci;

 

 

修改后的编码只对后面创建表默认编码有影响,对现有的表没有作用。

 

5、修改数据表的字符集 编码/核对

 

SHOW FULL COLUMNS FROM ;

    # 查看collation类型

 

5.1  只修改表的字符集,影响后续该表新增列的默认定义,已有列的字符集不受影响。

 

alter table  character set utf8

 

 

5.2  修改表的字符集和已有列字符集,并将已有数据进行字符集编码转换

alter table  convert to character set utf8 collate utf8_unicode_ci; 

 

 

6、核对和字符集的关系

 

校对规则特征:

 

  ①两个不同的字符集不能有相同的校对规则;

 

  ②每个字符集有一个默认校对规则;

 

  ③存在校对规则命名约定:以其相关的字符集名开始,中间包括一个语言名,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二元)结束。

 

注意:

 

  系统使用utf8字符集,若使用utf8_bin校对规则执行SQL查询时区分大小写,使用utf8_general_ci不区分大小写(默认的utf8字符集对应的校对规则是utf8_general_ci)。

 

7、修改字符集编码时,不设置核对时,系统会自动设置默认核对,默认核对是不区分大小写。

 

如果不设置核对,会根据字符集编码设置默认的核对

 

ALTER DATABASE  CHARACTER SET utf8 COLLATE utf8_general_ci;

 

等价于

 

ALTER DATABASE  CHARACTER SET utf8;

 

 

 

参考文档:https://www.cnblogs.com/geaozhang/p/6724393.html?utm_source=itdadao&utm_medium=referral

 

 

 

 

 

  • mysql字符集操作_第2张图片
  • 大小: 42.9 KB
  • 查看图片附件

你可能感兴趣的:(myql,字符集编码)