iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >SQL Server与MySQL中排序规则与字符集是什么
  • 169
分享到

SQL Server与MySQL中排序规则与字符集是什么

2024-04-02 19:04:59 169人浏览 八月长安
摘要

这篇文章主要讲解了“SQL Server与Mysql中排序规则与字符集是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“sql Server与mysql中

这篇文章主要讲解了“SQL ServerMysql排序规则与字符集是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“sql Server与mysql中排序规则与字符集是什么”吧!

字符集&&排序规则

字符集是针对不同语言的字符编码的集合,比如UTF-8字符集,GBK字符集,GB2312字符集等等,不同的字符集使用不同的规则给字符进行编码。排序规则则是在特定字符集的基础上特定的字符排序方式,排序规则是基于字符集的,是对字符集在排序方式维度上的一个划分。

排序规则是依赖于字符集的,一种字符集可以有多种排序规则,但是一种排序规则只能基于某一种字符集的,比如中文字符集,也即汉字,可以按照“拼音排序”、“按姓氏笔划排序”等等。而对于英语,就没有“拼音”和“姓氏笔画”,但是可以分为区分大小写、不区分大小写等等,而其他语言下面也有自己特定的排序规则。

在SQL Server中,任何一种字符集的数据库,都能存储任何一种语言的字符。

并不是说拉丁(Latin)字符集的数据就存储不了中文,中文(Chinese)字符集的数据库就存储不了蒙古语(只要操作系统本身支持)。sqlserver中,不管哪种字符集(实际上是排序规则)的数据库(或者字段),都是可以使用nvarchar(或者nchar),而nvarchar(或者nchar)是可以存储任意非Unicode字符的。至于排序规则,那是根据不同的字符集所支持的不同的排序规则人为定义的。

SQL Server中的字符集和排序规则

排序规则只不过是指定了存储的数据的排序(比较)规则而已,换句话说就是,排序规则中已经包含了字符集的信息。因此在sqlserver中 ,不需要关心字符集,只需要关心排序规则,sqlserver中在创建只能指定排序规则(不能直接指定字符集),如截图,只能指定collation,也就是字符集

SQL Server与MySQL中排序规则与字符集是什么

在MySQL中的字符集和排序规则

上面说了,排序规则是依赖于字符集的,一种字符集可以有多种排序规则,但是一种排序规则只能基于某一种字符集的。如下是MySQL中排序规则和字符集的对应关系。

SQL Server与MySQL中排序规则与字符集是什么

MySQL的建库语法比较扯,可以指定字符集和排序规则,如果指定的排序规则在字符集的下面,则是没有问题的,如果指定的排序规则不在字符集下面,则会报错。

比如下面这一句,排序规则utf8_bin是属于字符集utf8下面的一种排序规则,这个语句执行是没有问题的

create database test_database2 charset utf8 collate utf8_bin;

再比如下面这一句,排序规则latin1_bin不是属于字符集utf8下面的一种排序规则,这个语句执行是会报错的

create database test_database2 charset utf8 collate latin1_bin;

SQL Server与MySQL中排序规则与字符集是什么

以上是字符集和排序规则在sqlserver和MySQL中的一些基本应用,再说说常用的排序规则的区别

***_genera_ci & ***_genera_cs & ***_bin 常见排序规则的特点

以上是某种字符集下常用的三种排序规则,下面以常见的utf8为例说明。

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

  • utf8_general_cs区分大小写,cs为case sensitive的缩写,即大小写敏感,但是目前MySQL版本中已经不支持类似于***_genera_cs的排序规则,直接使用utf8_bin替代。

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

那么,同样是区分大小写,utf8_general_cs和utf8_bin有什么区别?

  • cs为case sensitive的缩写,即大小写敏感;bin的意思是二进制,也就是二进制编码比较。

  • utf8_general_cs排序规则下,即便是区分了大小写,但是某些西欧的字符和拉丁字符是不区分的,比如ä=a,但是有时并不需要ä=a,所以才有utf8_bin

  • utf8_bin的特点在于使用字符的二进制的编码进行运算,任何不同的二进制编码都是不同的,因此在utf8_bin排序规则下:&auml;<>a

在utf8_genera_ci的情况下A=a,&auml;=a

SQL Server与MySQL中排序规则与字符集是什么

在utf8_bin排序规则下,A<>a,&auml;<>a

SQL Server与MySQL中排序规则与字符集是什么

所以要想区分大小写,有没有特殊需求,就直接使用utf8_bin(实际上***_general_cs在MySQL中本身就不支持,在SQL Server中支持)。以上字符集的特点以及使用情况在SQL Server中表现为类似。

感谢各位的阅读,以上就是“SQL Server与MySQL中排序规则与字符集是什么”的内容了,经过本文的学习后,相信大家对SQL Server与MySQL中排序规则与字符集是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

您可能感兴趣的文档:

--结束END--

本文标题: SQL Server与MySQL中排序规则与字符集是什么

本文链接: https://www.lsjlt.com/news/69381.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQL Server与MySQL中排序规则与字符集是什么
    这篇文章主要讲解了“SQL Server与MySQL中排序规则与字符集是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL Server与MySQL中...
    99+
    2024-04-02
  • MySQL字符集排序的规则是什么
    MySQL字符集排序规则是根据字符的二进制值来进行排序的。不同的字符集具有不同的排序规则,比如在Latin1字符集中,按照ASCII...
    99+
    2024-04-09
    MySQL
  • mysql字符集和排序规则是什么
    MySQL字符集和排序规则是用于定义数据库中字符串数据存储和比较的规则。字符集(Character Set)指的是一组字符的集合,包...
    99+
    2023-08-25
    mysql
  • sql字符串排序规则是什么
    在SQL中,字符串排序是根据字符的编码顺序进行的。字符串排序规则如下:1. 首先按照字符串的第一个字符的编码进行排序。例如,'a'会...
    99+
    2023-09-26
    sql
  • mysql字符排序规则是什么
    在MySQL中,字符排序规则是指在对字符串进行排序时,使用的规则。MySQL提供了多种字符排序规则,常见的有以下几种: utf8...
    99+
    2024-04-02
  • mysql如何sql设置字符集和排序规则
    在mysql中使用sql语句设置字符集和排序规则的方法首先,在命令行中启动MySQL服务;service mysql start  MySQL服务启动后,在命令行中输入mysql的用户名和密码登录到MySQL;mysql -u root -...
    99+
    2024-04-02
  • mysql怎么查看字符集和排序规则
    在MySQL中,可以使用以下命令来查看字符集和排序规则: 查看当前数据库的字符集和排序规则: SHOW VARIABLES LI...
    99+
    2024-04-09
    mysql
  • oracle字符串排序规则是什么
    Oracle字符串排序规则是根据字符的Unicode编码值来进行排序的。Unicode编码是一种标准化的字符编码方式,通过给每个字符...
    99+
    2024-04-30
    oracle
  • MySQL字符集与校对规则怎么应用
    MySQL字符集和校对规则是用来确定字符串数据的存储方式和比较规则的设置。在MySQL中,可以在数据库、表、列级别设置字符集和校对规...
    99+
    2024-04-09
    MySQL
  • Mysql建库字符集和排序规则及说明
    目录概述排序规则字符集的选择排序规则1. utf8mb4_bin2. utf8mb4_unicode_ci 和 utf8mb4_general_ci总结概述 我们在使用mysql的时候,尤其是在创建数据库的时候,我们需要...
    99+
    2022-12-09
    Mysql建库字符集 Mysql排序规则 Mysql字符集
  • MySQL字符集和校对规则是什么
    本篇内容介绍了“MySQL字符集和校对规则是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!查看所有可用...
    99+
    2024-04-02
  • MySQL字符集和比较规则是什么
    这篇文章主要介绍“MySQL字符集和比较规则是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL字符集和比较规则是什么”文章能帮助大家解决问题。字符集和比...
    99+
    2024-04-02
  • MySQL的排序规则是什么
    MySQL的排序规则是根据指定的排序规则来确定查询结果的排序方式。MySQL支持多种排序规则,包括字母数字顺序、大小写敏感或不敏感、...
    99+
    2023-09-21
    MySQL
  • mysql中utf8mb4的排序规则是什么
    在MySQL中,UTF8MB4排序规则是根据Unicode字符集定义的。Unicode定义了每个字符的排序顺序,根据字符的Unico...
    99+
    2024-04-09
    mysql
  • MySQL 知识点分享一:utf8 字符集和排序规则
    我们经常能在数据库中看到这些: utf8mb4 和 utf8, utf8mb4_unicode_ci, utf8mb4_general_ci, utf8mb4_bin 分别代表什么意思呢 其实他们表示的是字符集 和 排序规则 字符集:就...
    99+
    2023-09-04
    mysql 数据库 Powered by 金山文档
  • MySQL建立数据库时字符集和排序规则的选择
    文章目录 前言一、字符集?二、Mysql中的字符集1.Unicode与UTF8、UTF8MB4、UTF16、UTF32关系2.Mysql新建数据库时选择哪种字符集呢? 三、Mysql排序规则四、Mysql查询字符集和排序规则常...
    99+
    2023-08-20
    数据库 mysql java
  • oracle多个字段排序规则是什么
    在Oracle中,多个字段的排序规则是根据字段的顺序进行排序的。即先按照第一个字段进行排序,如果第一个字段的值相同,则根据第二个字段...
    99+
    2023-09-09
    oracle
  • mysql中and与or的规则是什么
    在MySQL中,AND和OR是用来连接多个条件的逻辑运算符。 AND运算符:AND运算符用于连接多个条件,并且要求所有条件都必须为...
    99+
    2024-04-09
    mysql
  • C语言字符串的排列规则是什么
    C语言中的字符串是由一系列字符组成的,以null字符('\0')作为结尾。 字符串的排列规则是根据字符的顺序来决定字符串的排列顺序。...
    99+
    2023-10-21
    C语言
  • MySQL - 常用排序规则utf8mb4_general_ci、utf8mb4_unicode_ci、utf8mb4_bin、utf8mb4_0900_ai_ci和存储字符集 utf8 和 utf8
    在创建数据库时,我们经常会需要填写数据库名、字符集、排序规则 常用的存储字符集 utf8 和 utf8mb4 排序字符集 utf8mb4_unicode_ci 和 utf8mb4_general_ci、utf8mb4_bin、utf8mb4...
    99+
    2023-09-14
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作