转载地址: https://www.cnblogs.com/exmyth/p/3616672.html

在mysql中存在着各种utf8编码格式,如下表:

1)utf8_bin

2)utf8_general_ci

3)utf8_general_cs

utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写。

utf8_genera_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感。

utf8_general_cs区分大小写,cs为case sensitive的缩写,即大小写敏感。

现在假设执行如下命令:

create table test_bin (

name varchar(32) not null primary key,

age int unsigned not null

) engine = InnoDB COLLATE=utf8_bin;

以上命令能够执行成功。

create table test_ci (

name varchar(32) not null primary key,

age int unsigned not null

) engine = InnoDB COLLATE=utf8_general_ci;

以上命令能够执行成功。

create table test_cs (

name varchar(32) not null primary key,

age int unsigned not null

) engine = InnoDB COLLATE=utf8_general_cs;

在5.6.10版本中,以上命令执行失败,不支持utf8_genral_cs。

insert into test_bin values('Alice', 18);

以上命令能够执行成功。

insert into test_bin values('alice', 18);

以上命令能够执行成功,因为utf8_bin是以十六进制方式存储数据,两条记录的主键不重复。

insert into test_ci values('Alice', 18);

以上命令能够执行成功。

insert into test_ci values('alily', 20);
以上命令执行失败,因为utf8_general_ci不区分大小写,两条记录的主键重复。

转载于:https://www.cnblogs.com/zjl8455482/p/9322966.html

mysql中utf8_bin、utf8_general_ci、utf8_general_cs编码区别相关推荐

  1. 【038】MySQL中varchar与char的区别以及varchar(50)中的50代表的涵义?

    ♣题目部分 MySQL中varchar与char的区别以及varchar(50)中的50代表的涵义? ♣答案部分 (1).varchar与char的区别区别一,定长和变长char 表示定长,长度固定, ...

  2. mysql''和null,mysql中NULL和null的区别

    接触php的web开发一段时间了,在进行数据库操作的时候经常会遇到一个问题,使得同一字段在页面显示时有3种类型NULL,null以及数字,当时的解决办法是将这一字段定义为varchar类型,在插入数据 ...

  3. Mysql中的count()与sum()区别

    Mysql中的count()与sum()区别 首先创建个表说明问题 CREATE TABLE `result` ( `name` varchar(20) default NULL, `subject` ...

  4. MySQL中interactive_timeout和wait_timeout的区别

    2019独角兽企业重金招聘Python工程师标准>>> 在用mysql客户端对数据库进行操作时,打开终端窗口,如果一段时间没有操作,再次操作时,常常会报如下错误: ? 1 2 3 E ...

  5. mysql中的blob和text区别

    mysql中的blob和text区别 经过查询资料发现 除了blob 还有tinyblob longblob mediumblob 当然text还有tinytext mediumtext longte ...

  6. mysql中char与varchar的区别分析

    原文网址:http://www.jb51.net/article/23575.htm mysql中char与varchar的区别分析 作者: 字体:[增加 减小] 类型:转载 在mysql教程中cha ...

  7. mysql中where和and的区别

    本文来说下mysql中where和and的区别 文章目录 概述 内连接的时候 左外连接的时候 本文小结 概述 多表查询语法结构:table_reference {[INNER] JOIN | {LEF ...

  8. MySQL中In与Exists的区别

    MySQL中In与Exists的区别 1 例子 2 EXISTS和IN的介绍 2.1 exists 2.2 in 2.3 使用上的区别 3 EXISTS和IN的性能分析 4 总结 1 例子 有两个表需 ...

  9. MySQL中distinct和distinctrow的区别

    引用官方文档的内容MySQL中distinct和distinctrow的区别 原文:The ALL and DISTINCT modifiers specify whether duplicate r ...

  10. mysql中now,curdate,curtime,sysdate区别

    //mysql中now,curdate,curtime,sysdate区别 1.now 返回的时间,格式如下:2013-01-17 10:57:13 mysql> select now(),sl ...

最新文章

  1. C语言数据结构学习用单元测试
  2. linux多进程编程计算圆周率,中值积分定理计算PI值的多线程实现
  3. Plain text, flat file, 及flat-file database 如何翻译
  4. PMP读书笔记(第12章)
  5. PyTorch 学习笔记(一):让PyTorch读取你的数据集
  6. cocoslua与android交互,cocos2dx 获取手机屏幕分辨率 objective-c android 和 Lua 交互 向lua 传参...
  7. 老司机 iOS 周报 #37 | 2018-09-24
  8. truffle version/usr/local/lib/node_modules/truffle/build/385.bundled.js:65232 catch cli.bundled.js:6
  9. 看看别人用什么:最佳网管工具点评
  10. matlab基于视频的车流量检测,基于视频的车流量统计——matlab代码.docx
  11. 基于Java的进销存管理系统 附:源码课件
  12. android 截图工具 mac,在Mac上截屏的三种方法 | MOS86
  13. 【绕口令】打南边来了个喇嘛(转载)
  14. The command ‘docker‘ could not be found in this WSL 2 distro.
  15. 犹太人一直被誉为高智商的民族——那么犹太人天生就很聪明吗?听听他们自己的解释:...
  16. R语言使用grid包的unit函数将数据对象转化为有计量单位的数据(例如转化为毫米单位、长度单位mm)
  17. cass等距离等分线段的命令键_cass线段怎么等分命令是什么
  18. node抓取王者荣耀英雄资料库
  19. 一张图解决为什么校外访问不了学校购买的中国知网
  20. Verilog基础知识3(门控时钟及FPGA时钟使能处理)

热门文章

  1. 用户控件和服务器控件的数据绑定
  2. sqlserver查询一个表的字段信息
  3. 使用存储过程更新数据库!成功了但是返回值为 -1 的变态问题的解决办法!
  4. linux的tar中ztvf,linux中的tar命令(2)
  5. php ajax 概率 转盘,php+jquery实现转盘抽奖 概率可任意调
  6. leetcode 解压缩_谁说 Python 的 shutil 不支持 7z 解压缩,我来教你扩展它的功能!...
  7. zipfile java 解压速率,使用java.util.ZipFile在同一层次中解压缩zipfile
  8. 南京大学计算机考研机试,2018南大CS考研机试答案
  9. HTML表格颜色按条件填充,Excel单元格能否根据条件填充颜色?
  10. Java在linux新建png_教你如何使用libpng显示PNG图片