首页 > 数据库 >MySQL的collation设置

MySQL的collation设置

时间:2022-11-18 16:26:13浏览次数:40  
标签:字符 ci 设置 utf8mb4 MySQL COLLATE unicode mysql collation

MySQL的collation设置

utf8mb4

在mysql中请大家忘记utf8,永远使用utf8mb4。mysql中的utf8最多只能支持3bytes长度的字符编码,对于一些需要占据4bytes的文字,mysql的utf8就不支持了,要使用utf8mb4才行,建议使用utf8mb4。
utf8mb4中存在utf8mb4_bin,utf8mb4_unicode_ci,utf8mb4_general_ci,其中bin将字符看做二进制串进行比较,因此,大小写敏感。ci是Case Insensitive的缩写,即大小写无关。unicode比general更新,符合更新的标准,推荐使用unicode。

所谓utf8mb4_unicode_ci,其实是用来排序的规则。
对于mysql中那些字符类型的列,如VARCHAR,CHAR,TEXT类型的列,都需要有一个COLLATE类型来告知mysql如何对该列进行排序和比较。简而言之,COLLATE会影响到ORDER BY语句的顺序,会影响到WHERE条件中大于小于号筛选出来的结果,会影响DISTINCT、GROUP BY、HAVING语句的查询结果。另外,mysql建索引的时候,如果索引列是字符类型,也会影响索引创建,只不过这种影响我们感知不到。总之,凡是涉及到字符类型比较或排序的地方,都会和COLLATE有关。

推荐:

create schema `db_name` collate utf8mb4_unicode_ci;

标签:字符,ci,设置,utf8mb4,MySQL,COLLATE,unicode,mysql,collation
From: https://www.cnblogs.com/yangwen0228/p/16903611.html

相关文章

  • Hive2Mysql
    #!/bin/bashset-ebin=`dirname"$0"`bin=`cd$bin;pwd`functionusage(){echoecho"Usage:-f:必选,执行文件的路径文件内容:-h必选,mysqlhost-P......
  • MySQL8.0新特性—InnoDB增强
    1.自增变量持久化在MySQL8.0之前的版本中,自增列计数器置于内存中,并不会持久化到磁盘,当数据库重启后,会根据selectmax(id)+1fromxxx重新计算当前自增列值,这种现象在某些......
  • echarts 图表设置默认选中
    一、数据图形import*asechartsfrom'echarts'constmyChart=echarts.init(document.querySelector('pie'))官方文档events官方文档action设置高亮myChart.d......
  • vue-meta实现router动态设置meta标签
    一.meta标签提供关于HTML文档的元数据 (元数据指用来描述数据的数据)。元数据不会显示在页面上,但是对于机器是可读的。它可用于浏览器(如何显示内容或从新加载页面)、搜......
  • MySql常用命令
    --创建相同表命令createtabletestlikestu; --给表增加列alarttablestuaddqqvarchar(20)NOTNULLCOMMENT'q';--删除表列altertablestudropqq; ......
  • MySql基于ADO.NET方式访问数据库ADOHelper封装MySqlHelper
    ///<summary>  ///TheMySqlclassisintendedtoencapsulatehighperformance,scalablebestpracticesfor   ///commonuses......
  • 基于mysql实现group by 取分组第一条 最后一条
    测试数据DROPTABLEIFEXISTS`tb_dept`;CREATETABLE`tb_dept`(`id`bigint(20)UNSIGNEDNOTNULL,`parent_id`bigint(20)NULLDEFAULTNULL,`dept_cod......
  • mysql8导入数据慢解决
    前提是mysql使用innodb引擎 先优化配置文件:innodb_buffer_pool_size=12Ginnodb_log_file_size  =1G#只能修改配置文件生效innodb_flush_log_at_trx_commit=......
  • Unix/Linux编程(MySQL数据库系统)
    1MySQL介绍MySQL是一个关系数据库系统在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联。关系结构使得可在表上运行......
  • mysql触发器 增删改
    --------------------------------eb_system_menus触发器编写--新增、修改、删除--自动执行eb_seller_menus--------------------------------delimiter$-......