-
2021-01-18 23:13:26
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户的数据库应用系统进行性能和风险评估,参与配合进行数据压测演练,提供数据库优化方面专业建议,在业务高峰期与用户共同保障数据库系统平稳运行。","link1":"https://www.aliyun.com/service/optimization/database","link":"https://www.aliyun.com/service/chiefexpert/database","icon":"https://img.alicdn.com/tfs/TB1a5ZfonnI8KJjy0FfXXcdoVXa-100-100.png","btn2":"数据库紧急救援服务","tip":"还有更多专家帮助您解决云上业务问题:立即查看","btn1":"云上数据库优化服务","link2":"https://www.aliyun.com/service/databaserescue","title":"数据库专家服务"}],"search":[{"txt":"安全首席专家","link":"https://www.aliyun.com/service/chiefexpert/security"},{"txt":"中间件首席专家","link":"https://www.aliyun.com/service/chiefexpert/middleware"},{"txt":"系统与平台首席专家","link":"https://www.aliyun.com/service/chiefexpert/platform"},{"txt":"存储首席专家","link":"https://www.aliyun.com/service/chiefexpert/storage"}],"countinfo":{"search":{"length_pc":0,"length":0},"card":{"length_pc":0,"length":0}},"simplifiedDisplay":"newEdition","newCard":[{"link":"https://www.aliyun.com/product/rds/mysql","icon":"rds_mysql1","contentLink":"https://www.aliyun.com/product/rds/mysql","title":"云数据库RDS MySQL版","des":"云数据库RDS MySQL版 MySQL 是全球最受欢迎的开源数据库,阿里云MySQL版 通过深度的内核优化和独享实例提供稳定极致的数据库性能,同时灵活的部署架构及产品形态,可满足不同场景下的数据库需求。","btn1":"了解详情","link1":"https://www.aliyun.com/product/rds/mysql","btn2":"管理控制台","link2":"https://rdsnext.console.aliyun.com/#/rdsList/cn-hangzhou/basic/","btn3":"在线咨询","link3":"https://www.aliyun.com/core/online-consult?spm=5176.8789780.7y9jhqsfz.115.47ea55caeL2Mfu&from=OVtXEBmlH8","infoGroup":[{"infoName":"最新活动","infoContent":{"firstContentName":"MySQL 1年仅19.9元","firstContentLink":"https://www.aliyun.com/database/dbfirstbuy#J_9036464270","lastContentName":"ECS+MySQL 0.7元/日","lastContentLink":"https://www.aliyun.com/1111/enterprise"}},{"infoName":"快速入门","infoContent":{"firstContentName":"选型指南","firstContentLink":"https://help.aliyun.com/document_detail/164594.html?spm=a2c4g.11186623.6.551.56b67384ispvvk","lastContentName":"上手指南","lastContentLink":"https://help.aliyun.com/document_detail/26124.html?spm=a2c4g.11174283.2.16.51795b83pbkzav"}},{"infoName":"最佳实践","infoContent":{"firstContentName":"X-Engine的应用场景","firstContentLink":"https://help.aliyun.com/document_detail/148402.html?spm=a2c4g.11186623.2.14.3f592685zjuUxu#concept-2364901","lastContentName":"读写分离功能","lastContentLink":"https://help.aliyun.com/document_detail/96073.html?spm=a2c4g.11174283.2.53.42db5b83VvZvMJ"}},{"infoName":"产品推荐","infoContent":{"firstContentName":"云数据库PolarDB","lastContentName":"云原生数据仓库MySQL","firstContentLink":"https://www.aliyun.com/product/polardb","lastContentLink":"https://www.aliyun.com/product/ads"}}]}],"visual":{"textColor":"dark","topbg":""}}
{"$env":{"JSON":{}},"$page":{"env":"production"},"$context":{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户的数据库应用系统进行性能和风险评估,参与配合进行数据压测演练,提供数据库优化方面专业建议,在业务高峰期与用户共同保障数据库系统平稳运行。","link1":"https://www.aliyun.com/service/optimization/database","link":"https://www.aliyun.com/service/chiefexpert/database","icon":"https://img.alicdn.com/tfs/TB1a5ZfonnI8KJjy0FfXXcdoVXa-100-100.png","btn2":"数据库紧急救援服务","tip":"还有更多专家帮助您解决云上业务问题:立即查看","btn1":"云上数据库优化服务","link2":"https://www.aliyun.com/service/databaserescue","title":"数据库专家服务"}],"search":[{"txt":"安全首席专家","link":"https://www.aliyun.com/service/chiefexpert/security"},{"txt":"中间件首席专家","link":"https://www.aliyun.com/service/chiefexpert/middleware"},{"txt":"系统与平台首席专家","link":"https://www.aliyun.com/service/chiefexpert/platform"},{"txt":"存储首席专家","link":"https://www.aliyun.com/service/chiefexpert/storage"}],"countinfo":{"search":{"length_pc":0,"length":0},"card":{"length_pc":0,"length":0}},"simplifiedDisplay":"newEdition","newCard":[{"link":"https://www.aliyun.com/product/rds/mysql","icon":"rds_mysql1","contentLink":"https://www.aliyun.com/product/rds/mysql","title":"云数据库RDS MySQL版","des":"云数据库RDS MySQL版 MySQL 是全球最受欢迎的开源数据库,阿里云MySQL版 通过深度的内核优化和独享实例提供稳定极致的数据库性能,同时灵活的部署架构及产品形态,可满足不同场景下的数据库需求。","btn1":"了解详情","link1":"https://www.aliyun.com/product/rds/mysql","btn2":"管理控制台","link2":"https://rdsnext.console.aliyun.com/#/rdsList/cn-hangzhou/basic/","btn3":"在线咨询","link3":"https://www.aliyun.com/core/online-consult?spm=5176.8789780.7y9jhqsfz.115.47ea55caeL2Mfu&from=OVtXEBmlH8","infoGroup":[{"infoName":"最新活动","infoContent":{"firstContentName":"MySQL 1年仅19.9元","firstContentLink":"https://www.aliyun.com/database/dbfirstbuy#J_9036464270","lastContentName":"ECS+MySQL 0.7元/日","lastContentLink":"https://www.aliyun.com/1111/enterprise"}},{"infoName":"快速入门","infoContent":{"firstContentName":"选型指南","firstContentLink":"https://help.aliyun.com/document_detail/164594.html?spm=a2c4g.11186623.6.551.56b67384ispvvk","lastContentName":"上手指南","lastContentLink":"https://help.aliyun.com/document_detail/26124.html?spm=a2c4g.11174283.2.16.51795b83pbkzav"}},{"infoName":"最佳实践","infoContent":{"firstContentName":"X-Engine的应用场景","firstContentLink":"https://help.aliyun.com/document_detail/148402.html?spm=a2c4g.11186623.2.14.3f592685zjuUxu#concept-2364901","lastContentName":"读写分离功能","lastContentLink":"https://help.aliyun.com/document_detail/96073.html?spm=a2c4g.11174283.2.53.42db5b83VvZvMJ"}},{"infoName":"产品推荐","infoContent":{"firstContentName":"云数据库PolarDB","lastContentName":"云原生数据仓库MySQL","firstContentLink":"https://www.aliyun.com/product/polardb","lastContentLink":"https://www.aliyun.com/product/ads"}}]}],"visual":{"textColor":"dark","topbg":""}}}
更多相关内容 -
Mysql 数据库排序规则
2021-01-18 20:54:45前言:在新建MySQL数据库或表的时候经常会选择字符集和排序规则。数据库用的字符集大家都知道是怎么回事,那排序规则是什么呢?排序规则:是指对指定字符集下不同字符的比较规则。其特征有以下几点:(1)两个不同的...前言:
在新建MySQL数据库或表的时候经常会选择字符集和排序规则。数据库用的字符集大家都知道是怎么回事,那排序规则是什么呢?
排序规则:是指对指定字符集下不同字符的比较规则。其特征有以下几点:
(1)两个不同的字符集不能有相同的排序规则;
(2) 两个字符集有一个默认的排序规则;
(3) 有一些常用的命名规则。如_ci结尾表示大小写不敏感(caseinsensitive),_cs表示大小写敏感(case sensitive),_bin表示二进制的比较(binary)。
utf-8有默认的排序规则:
命令:SHOW CHARSET LIKE 'utf8%';
区别:
utf8_general_ci 不区分大小写,这个你在注册用户名和邮箱的时候就要使用。
utf8_general_cs 区分大小写,如果用户名和邮箱用这个 就会照成不良后果。
utf8_bin:字符串每个字符串用二进制数据编译存储。 区分大小写,而且可以存二进制的内容。
utf8_general_ci校对速度快,但准确度稍差。
utf8_unicode_ci准确度高,但校对速度稍慢。
-
MySQL新建数据库|字符集&排序规则
2020-05-27 22:34:26MySQL新建数据库|字符集&排序规则前言分析字符集utf8mb4和utf8其他字符集排序规则ci结尾ca结尾bin结尾乱序问题 前言 有过新建过的数据库的小伙伴对这张图肯定不陌生了,但关于字符集和排序规则一般是直接忽略呢...
前言
有过新建过的数据库的小伙伴对这张图肯定不陌生了,但关于字符集和排序规则一般是直接忽略呢,还是有去了解,然后根据自身业务特点设置相应字符集或者排序规则?
分析
以上图为例子,我是基于mysql8.0新建对的,然后字符集和排序规则都不设置,新建后,你会发现mysql默认设置为如下值:
- 字符集 :utf8mb4
- 排序规则:utf8mb4_0900_ai_ci
DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
字符集
utf8mb4和utf8
以utf8为例,它最多支持 3 个字节,当你存4字节的 utf8 编码字符时,会入库失败(常见的如:emoji ),在2010年重新发布了 utf8mb4 支持utf8。
其他字符集
使用如下指令可以查看mysql支持的其他字符集及每个字符集对应的默认的排序集合。
show character set;
排序规则
关于排序规则命名,通常都是在相应的字符集后面加上下划线
_排序方式
,常见的有如下三种方式:ci结尾
ci结尾表示大小写不敏感(case insensitive),这点也是程序往往容易忽略的一个bug,大部分场景下,特别是模糊搜索时,我们可能更希望搜索a时,a和A都会出现,但有些特殊情况,我们只希望出现a,而这时如果程序中没有做特殊处理,你查出来相当于有多条数据,却只映射到一个对象时,此时程序会抛出异常又或者查出了多条数据,当你程序没有特殊处理,只默认处理第一条此时会出现不该出现的数据展现了出来。
ca结尾
cs表示大小写敏感(case sensitive)
bin结尾
bin表示字符串每个字符串用二进制数据编译存储,区分大小写,而且可以存二进制的内容。
乱序问题
关于mysql乱序问题,在初学时真的有点头疼,有时你会发现,照着别人的文章,一毛一样的设置,结果文章可以成功,而你的却不行。(这时脾气火爆的小哥哥小姐姐可能就直接口吐芬芳了)还有一种情况,你尝试某个方法成功后,下次遇到时,再进行一毛一样的操作,你会发现这次不灵了。
乱序问题除了我们程序的编码问题外,mysql里头也有好几个地方涉及到字符集的操作:
- character_set_server:mysql server(服务端)默认字符集,可以用如下命令查看:
show variables like 'character_set_server'
- character_set_database:数据库默认字符集。
show variables like 'character_set_database'
- character_set_client:客户端发送的查询使用的字符集。
show variables like 'character_set_client'
- character_set_connection:MySQL Server接收客户端发布的查询请求后,将其转换为character_set_connection变量指定的字符集。
show variables like 'character_set_connection'
- character_set_results:mysql server把结果集和错误信息转换为character_set_results指定的字符集,并发送给客户端。
show variables like 'character_set_results'
- character_set_system:系统元数据(字段名等)字符集
show variables like 'character_set_system'
上述的某个阶段和其他阶段设置的字符集和不一致的时候,都可能出现乱序现象。
-
mysql-新建数据库-字符集和排序规则怎么选
2022-02-11 16:21:34 -
mysql新建数据库字符集与排序规则的选择
2020-12-13 20:54:51目录字符集选择排序规则 字符集选择 一般选择utf8.下面介绍一下utf8与utfmb4的区别。 utf8mb4兼容utf8,且比utf8能表示更多的字符。至于什么时候用,看你的做什么项目了,到 ... -
Navicate新建数据库时字符集和排序规则的选择
2019-09-08 21:19:21Navicat Navicate新建数据库时字符集和排序规则的选择 如图所示: -
新建数据库字符集和排序规则
2021-04-06 23:22:53一般选择: 字符集:utf-8 排序规则:utf8_general_ci (不区分大小写,校对速度快,但准确度稍差) -
创建数据库时,排序规则和编码规则
2022-04-13 13:40:0127、创建数据库时,排序规则和编码规则 1、常用的就是utf8+utf8_general_ci utf8和utfmb4区别: utfmb4 兼容 utf8 且可以显示更多的字符,一般都用不到,选择utfmb4,只会浪费空间,通常,我们都是用的utf8; 排序 ... -
关于mysql创建数据库中字符集和排序规则的选择
2021-02-02 17:56:03(准确度够用,一般建库选择这个) utf8_unicode_ci准确度高,但校对速度稍慢 所以一般排序规则选择是: utf_general_ci 关于mysql创建数据库中字符集和排序规则的选择 标签:特殊字符 nbsp 创建数据库 排序 ... -
Mysql新建数据库字符集及排序规则说明
2020-08-20 16:30:161.字符集说明: 一般选择utf8.下面介绍一下utf8与utfmb4的区别。 utf8mb4兼容utf8,且比utf8能表示...排序一般分为两种:utf_bin和utf_general_ci bin 是二进制, a 和 A 会别区别对待. 例如你运行: SELECT * FROM -
Mysql新建数据库的字符集与排序规则说明
2021-01-14 18:25:021.字符集说明: 一般选择utf8 utf8与utfmb4的区别如下: ...2.排序规则说明 一般选择utf8_general_ci,校对速度快,但准确度稍差。 utf_bin和utf_general_ci区别如下 utf8_bin中字符串每个字符串用二进制数据编译存储。 -
MySQL创建数据库指定编码和排序规则,mysql数据库密码重置
2022-02-16 16:10:13MySQL 数据库基本使用 mysql 数据库创建与密码重置 ① 数据库登录与密码设置 ② 数据库创建并指定编码和排序规则 ③ 切换数据库 ④ 删除数据库 ⑤ 创建用户 ⑥ 给用户授权 -
MySQL数据库基字符集,数据库排序规则,大小写敏感报错
2019-01-30 17:29:262 排序说明 3 大小写报错 3.1 报错现象 3.2处理过程 1 数据库字符集选择 1.1 utf8和utfmb4区别 一般选择utf8.下面介绍一下utf8与utfmb4的区别 utf8mb4兼容utf8,且比utf8能表示更多的字符。至于什么时候用... -
mysql建数据库的字符集与排序规则说明
2018-06-20 14:40:272.排序说明 排序一般分为两种: utf_bin和utf_general_ci bin 是二进制, a 和 A 会别区别对待. 例如你运行: SELECT * FROM table WHERE txt = 'a' 那么在utf8_bin中你就找不到 txt = 'A' 的那一行, 而 utf8_general_... -
更改数据库排序规则
2021-01-28 02:40:23在SQLServer2008R2版本及以上,我们选择的都是默认安装,所以在创建数据库的时候,服务器默认选择的排序规则是一个SQL_Latin1_General_CP1_CI_AS排序规则,这样在向数据表中插入文本时,将无法正常显示,全部以”?... -
mysql 数据库排序规则
2021-01-24 15:05:52在新建MySQL数据库或表的时候经常会选择字符集和排序规则。数据库用的字符集大家都知道是怎么回事,那排序规则是什么呢? 排序规则:是指对指定字符集下不同字符的比较规则。其特征有以下几点: 1、 两个不同的... -
Navicat建数据库时字符集与排序规则说明
2021-03-05 22:17:01Navicat建数据库时字符集与排序规则说明一、字符集说明二、排序规则说明 一、字符集说明 一般选择utf8。 下面介绍一下utf8与utf8mb4的区别: utf8mb4兼容utf8,且比utf8能表示更多的字符。至于什么时候用,看你的... -
Navicat创建数据库时所选择字符集和排序规则含义
2021-08-27 09:33:40我们每次使用Navicat创建数据库时候让选择字符集和排序规则,是不是会疑惑,知道要使用utf8字符集,但那个utf8mb4是个什么鬼?感觉和utf8差不多。 创建时: 创建后编辑: 当我们使用utf8创建完数据库后编辑... -
MSSQL 新建数据库的注意事项
2021-12-06 16:37:33win10英文系统,新家mssql数据库,排序规则:Chinese_PRC_CI_AS,表的字段类型varchar 现象: VC ADO无法获取到数据 修正:排序规则:SQL_Latin1_General_CP1_CI_AS ,VC ADO可以正常查询读取数据,但是中文乱man... -
设置或更改数据库排序规则
2021-08-02 00:49:58设置或更改数据库排序规则10/27/2020本文内容适用于:SQL Server(所有支持的版本)本主题说明如何使用 SQL Server Management Studio 或 Transact-SQL 设置和更改数据库排序规则。 如果未指定排序规则,则使用服务器... -
navicat如何配置链接mysql并且新建数据库设置字符集和排列规则
2019-04-19 15:10:52首先我们大家必须先安装好... 然后我们将Navicat设置桌面快捷键,设置完成之后我们在桌面上就可以看到有navicat的图标了。 ...在页面的左上方我们可以看到有连接的选项。...然后点击mysql数据库这个菜单选项,之... -
Navicat新建数据库字符排序选择
2021-10-28 09:59:22使用navicat选择字符集排序规则选择 -
sqlserver数据库排序规则
2022-02-08 15:21:07一、查询字符集编码 SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage') 查出结果对应的字符集编码 936 :简体中文GBK 950 :繁体中文BIG5 ...三、查看实例下所有数据库的排序规则 select . -
mysql 新建数据库 字符集和排序规则
2020-05-31 20:38:49mysql字符集和排序规则总结 一般我是使用navicat来建库建表的。 1.给数据库取名 2.选择字符集 3.选择排序规则 字符集 字符集一般使用utf8或者utf8mb4 区别: utf8是3个字节 utf8mb4是4个字节,是utf8的扩展,如果... -
MySQL创建数据库选择基字符集和数据库排序规则问题
2021-07-05 18:05:28 -
《SQLServer修改服务器、数据库的排序规则》
2021-06-21 18:02:571、注意:修改数据库服务器的排序规则相对于修改数据库的排序规则来说是非常麻烦的,因为数据库服务器的排序规则用作与 SQL Server的实例一起安装的所有系统数据库以及任何新创建的用户数据库的默认排序规则(简单的... -
MYSQL创建数据库时候直接指定编码和排序规则
2021-01-18 23:13:25MYSQL创建数据库时候直接指定编码和排序规则mysql 创建数据库时指定编码很重要,很多开发者都使用了默认编码,但是我使用的经验来看,制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。www.2cto.com我们... -
Mysql建立数据库时字符集与排序规则的选择
2020-12-10 14:06:07Mysql建立数据库时字符集与排序规则的选择一、字符集字符字符集(Character set)字符编码(Character encoding)也称字集码二、Mysql中的字符集Unicode与UTF8、UTF8MB4、UTF16、UTF32关系Mysql新建数据库时选择哪种...