文章目录

  • 官方API
  • 简介
  • 使用方法
    • 设置级别及其优先级
    • 排序规则命名约定
    • 查询排序相关

官方API

COLLATE API

简介

COLLATE:排序规则。通常是和数据编码(CHARSET)相关的,字符串的物理存储由排序规则控制。
COLLATE是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影.
可以用来比较一些复杂排序。如VARCHAR,CHAR,TEXT类型,不区分大小写等的列,都需要有一个COLLATE类型来告知MySQL如何对该列进行排序和比较。简而言之,COLLATE会影响到ORDER BY语句的顺序,会影响到WHERE条件中大于小于号筛选出来的结果,会影响DISTINCTGROUP BYHAVING语句的查询结果,会影响任意查询排序的结果。

使用方法

设置级别及其优先级

设置COLLATE可以在示例级别、库级别、表级别、列级别、以及SQL指定。

#库级别
CREATE DATABASE <db_name> DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
#表级别
CREATE TABLE(
...
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
#列级别
#如果列级别没有设置CHARSET和COLATE,则列级别会继承表级别的CHARSET与COLLATE。
CREATE TABLE (
`field1` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
……
) ……

排序规则命名约定

命名约定

后缀 含义
_as 口音敏感
_cs 区分大小写
_bin 指定使用向后兼容的二进制排序顺序

查询排序相关

#查询所有的字符集
SHOW CHARACTER SET;
#查询所有的排序集
SHOW COLLATION;
#查询'utf8mb4'编码时可用的排序集
SHOW COLLATION WHERE CHARSET = 'utf8mb4';#举例:名称根据中文排序(不考虑多音字)
#升序
SELECT * FROM TABLE_NAME ORDER BY CONVERT(NAME USING GBK) COLLATE GBK_CHINESE_CI ASC
#降序
SELECT * FROM TABLE_NAME ORDER BY CONVERT(NAME USING GBK) COLLATE GBK_CHINESE_CI DESC

MySQL排序规则:COLLATE 及中文排序相关推荐

  1. oracle mysql 中文排序规则_ORACLE对中文排序性能优化

    Oracle提供了以下类型的排序方式:(1)二进制排序(2)单语言形式排序(3)多语言形式排序 使用二进制排序排序字符数据的一种方法是基于字符的数值定义的字符编码方案.这就是所谓的二进制排序.二进制排 ...

  2. mysql数据库修改列排序规则_更改数据库排序规则

    在SQLServer2008R2版本及以上,我们选择的都是默认安装,所以在创建数据库的时候,服务器默认选择的排序规则是一个SQL_Latin1_General_CP1_CI_AS排序规则,这样在向数据 ...

  3. MySQL的排序规则COLLATE

    COLLATE的作用 本质上MySQL是通过COLLATE取值决定字符串运算是否大小写敏感,以及如何对该列进行排序和比较.简而言之,COLLATE会影响到ORDER BY语句的顺序,会影响到WHERE ...

  4. linux中修改mysql排序规则_MySQL中的排序规则

    MySQL中的排序规则.在新建MySQL数据库或表的时候经常会选择字符集和排序规则.数据库用的字符集大家都知道是怎么回事,那排序规则是什么呢? 排序规则:是指对指定字符集下不同字符的比较规则.其特征有 ...

  5. mysql字符集的排序规则_MySql字符集与排序规则详解

    前段时间往MySQL中存入emoji表情或生僻字.繁体字时,报错无法添加,研究后发现这是字符集编码的问题,今天就来分析一下各个字符集与排序规则 一.字符集 先说字符,字符是各种文字和符号的总称,包括各 ...

  6. mysql查看字符排序规则_Mysql 字符集及排序规则

    原文: Mysql 字符集及排序规则 一.字符集 字符集:就是用来定义字符在数据库中的编码的集合. 常见的字符集:utf8.Unicode.GBK.GB2312(支持中文).ASCCI(不支持中文) ...

  7. mysql默认排序规则_mysql 字符集与排序规则的简单了解

    在创建数据库时候,会有字符集和排序规则的选项,太多的选项,就算盲选也有些为难,下面我们一起简单了解下: Navicat Premium 截图 这里先说我的做法,然后简单说下原因 字符集:utf8mb4 ...

  8. mysql字符集排序规则_Mysql 字符集及排序规则

    一.字符集 字符集:就是用来定义字符在数据库中的编码的集合. 常见的字符集:utf8.Unicode.GBK.GB2312(支持中文).ASCCI(不支持中文) 二.字符集排序规则 作者本人用的是ut ...

  9. mysql gbk排序规则_Mysql 字符集及排序规则

    一.字符集 字符集:就是用来定义字符在数据库中的编码的集合. 常见的字符集:utf8.Unicode.GBK.GB2312(支持中文).ASCCI(不支持中文) 二.字符集排序规则 作者本人用的是ut ...

最新文章

  1. processing图片粒子化_个人见到的processing(优质且全的教程,一定看原文)
  2. NOIP2009普及组细胞分裂(数论)——yhx
  3. leetcode714.买卖股票的
  4. centos7搭建apache服务器(亲测可用)
  5. 服务器换完主板后无盘进不了系统,更换主板后主板认不出硬盘无法进入系统的办法 – 手机爱问...
  6. Problem E: 建立链表(线性表)
  7. c++ gzip java.util.zip.gzip_java.util.zip.GZIPInputStream.close()方法示例
  8. gridview RowCommand 事件获取行索引
  9. Parallels Desktop 16 提示“已损坏,无法打开”的解决办法
  10. 智能优化算法:黑寡妇算法 -附代码
  11. 一文介绍解银行卡验证api接口详情
  12. GRUB4DOS 0.4.5c 2014-01-17.问题解决
  13. cad怎么画立体图形教学_CAD怎么画三维图形? cad绘制立体的室内装修图的教程
  14. VMware彻底删除、扫描添加导入,已安装好的虚拟计算机
  15. 基因、DNA、碱基、染色体之间的关系是什么?
  16. Microsoft CRM 2016 IFD配置
  17. Speedoffice(excel)如何快捷隐藏表格内所有空行
  18. 理解LP Simplex
  19. RS232电平 RS485电平 RS422电平
  20. 米卢:梅西是世界最佳 弗格森没有犯错误

热门文章

  1. iOS 悬浮球效果实现,悬浮按钮,拖拽,贴边,隐藏,显示,旋转屏幕适配
  2. 输入两个由整型数构成的集合(元素个数均为5)分别放到数组A和B中,求这两个集合的交集(交集的元素由两个集合中的相同元素构成),最后输出交集中的元素。
  3. Android逆向学习---静态分析反调试apk
  4. 如何将PDF如何存入MySQL_如何保存PDF、Word和Excel文件到数据库中
  5. 三沙第三方检测实验室建设要点科普
  6. android自定义抽奖转盘
  7. Origin 如何输入太阳符号和约化普朗克常数
  8. 美云智数|数据“灯塔”:小程序的运营之“光”
  9. linux 进程被杀日志,Linux查看日志和关闭、杀***进程命令
  10. 课程设计c语言拼写字母,C语言课程设计电子英汉词典.doc