加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

超详细的MySQL数据库字符集总结,值得收藏

发布时间:2019-09-12 06:14:14 所属栏目:建站 来源:波波说运维
导读:副标题#e# MySQL支持多种字符集(character set)提供用户存储数据,同时允许用不同排序规则(collation)做比较。下面基于MySQL5.7介绍一下字符集相关变量的使用。 一、字符集、字符序的概念与联系 在数据的存储上,MySQL提供了不同的字符集支持。而在数据的对

指定字符集为utf8,字符序则采用默认的。

  1. CREATE TABLE `test_schema`.`test_table` ( 
  2.  `id` INT NOT NULL COMMENT '', 
  3.  PRIMARY KEY (`id`) COMMENT '') 
  4. DEFAULT CHARACTER SET = utf8; 

2. 查看table的字符集/字符序

同样,有3种方式可以查看table的字符集/字符序。

  • 方式一:通过SHOW TABLE STATUS查看table状态,注意Collation为utf8_general_ci,对应的字符集为utf8。
    1.  SHOW TABLE STATUS FROM test_schema G; 
  • 方式二:查看information_schema.TABLES的信息。
    1.  USE test_schema; 
    2.  SELECT TABLE_COLLATION FROM information_schema.TABLES WHERE  
  • 方式三:通过SHOW CREATE TABLE确认。
    1.  SHOW CREATE TABLE test_table; 

3. table字符集、字符序如何确定

假设CHARACTER SET、COLLATE的值分别是charset_name、collation_name。如果创建table时:

  • 明确了charset_name、collation_name,则采用charset_name、collation_name。
  • 只明确了charset_name,但collation_name未明确,则字符集采用charset_name,字符序采用charset_name对应的默认字符序。
  • 只明确了collation_name,但charset_name未明确,则字符序采用collation_name,字符集采用collation_name关联的字符集。
  • charset_name、collation_name均未明确,则采用数据库的字符集、字符序设置。

七、column的字符集、排序

类型为CHAR、VARCHAR、TEXT的列,可以指定字符集/字符序,语法如下:

  1. col_name {CHAR | VARCHAR | TEXT} (col_length) 
  2.  [CHARACTER SET charset_name] 
  3.  [COLLATE collation_name] 

1. 新增column并指定字符集/排序规则

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读