MySQL排序规则批量修改
排序规则选择
mysql中utf8mb4_general_ci与utf8mb4_unicode_ci有什么区别呢?
为什么大家都使用utf8mb4_general_ci而不是utf8mb4_unicode_ci呢?
- 使用utf8mb4可以支持emoji表情存储,utf8不支持。
utf8_bin
和utf8_general_ci
两者区别。
ci
是 case insensitive, 即 “大小写不敏感”, a 和 A 是一样的;
bin
是二进制, a 和 A 不同.
utf8_general_ci
不区分大小写,这个你在注册用户名和邮箱的时候就要使用。
utf8_general_cs
区分大小写,如果用户名和邮箱用这个 就会照成不良后果
utf8_bin
字符串每个字符串用二进制数据编译存储。 区分大小写,而且可以存二进制的内容utf8mb4_unicode_ci
和utf8mb4_general_ci
两者区别。
utf8mb4_unicode_ci
和utf8_general_ci
对中、英文来说没有实质的差别。
utf8mb4_general_ci
校对速度快,但准确度稍差。
utf8mb4_unicode_ci
准确度高,但校对速度稍慢。
如果你的应用有德语、法语或者俄语,请一定使用utf8mb4_unicode_ci
。
一般用utf8mb4_general_ci
就够了,到现在也没发现问题。
对于数据库的使用,utf8mb4_general_ci
已经足够的准确,并且相较与utf8mb4_unicode_ci
速度上有优势,固可放心采用之。
-- 修改数据库排序规则
ALTER DATABASE base CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
-- 修改表的默认排序规则,表中字段排序规则不变
ALTER TABLE hello DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-- 修改表和表中字段的排序规则
ALTER TABLE hello CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-- 修改表中某个字段的排序规则
ALTER TABLE hello MODIFY name varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci default '' null comment '姓名' ;
如果一个数据库很多表都需要修改排序规则怎么办?
-- 查出指定库中所有不符合要求的排序规则表,并生成修正SQL
SELECT TABLE_SCHEMA '库名',TABLE_NAME '表名',TABLE_COLLATION '当前排序规则',CONCAT('ALTER TABLE ', TABLE_SCHEMA, '.', TABLE_NAME,' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;') '修正SQL'
from information_schema.tables
where TABLE_SCHEMA = 'base'and TABLE_COLLATION != 'utf8mb4_general_ci';
复制修正SQL,批量执行。
批量修改指定库中的所有表字段排序规则
-- 批量拼接修改字段排序规则SQL
SELECT TABLE_SCHEMA '数据库',TABLE_NAME '表',COLUMN_NAME '字段',COLUMN_TYPE '字段类型',COLUMN_DEFAULT '字段默认值',COLUMN_COMMENT '字段注释',COLUMN_KEY '主键,唯一索引,非唯一索引',IS_NULLABLE '字段是否可为NULL',CHARACTER_SET_NAME '原字符集',COLLATION_NAME '原排序规则',CONCAT('ALTER TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ' MODIFY COLUMN ', COLUMN_NAME, ' ', COLUMN_TYPE,' CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci ',IF(IS_NULLABLE = 'NO', 'not null ', ''),IF(COLUMN_DEFAULT is null, ' ', CONCAT('default \'', COLUMN_DEFAULT, '\' ')), 'comment \'',COLUMN_COMMENT, '\';') '修正SQL'
FROM information_schema.`COLUMNS`
WHERE TABLE_SCHEMA = 'base'and COLLATION_NAME RLIKE 'utf8_general';
MySQL排序规则批量修改相关推荐
- MySQL学习笔记4:排序规则的修改
数据库的字符集和排序规则优先级:字段级别>表级别>schema级别>服务器级别(实例级别),如果没有设置字段级别的字符集和排序规则,那么默认就取表的,如果表上也没有设置那就默认取sc ...
- mysql排序规则引发的一系列问题
文章目录 mysql排序规则引发的一系列问题 背景 mysql默认的排序方式 mysql默认排序真的是按照主键进行排序的吗? 如何随机获取更优? mysql排序规则引发的一系列问题 背景 项目中提出需 ...
- MySQL 排序规则简介
在日常工作中,对于MySQL排序规则,很少关注,大部分时候都是直接使用字符集默认的排序规则,常常忽视了排序规则的细节问题,了解排序规则有助于更好的理解MySQL字符比较和排序相关的知识 简述 说起排序 ...
- java mysql排序规则_在Java中使用MySQL排序规则
精简版 我目前正在研究MySQL排序规则的问题以及它们如何影响一组值(使用Hibernate映射,但现在这不重要).我希望使用与MySQL使用相同的排序规则来设置一组字符串.例如.我希望"f ...
- Mysql 排序规则-大小写问题
Mysql 排序规则-大小写问题 xxx_bin:每个字符串用二进制数据编译存储. 查询时区分大小写. xxx_general_cs: 查询时区分大小写. xxx_general_ci:查询时不区分大 ...
- mysql字符排序规则utf8mb4_0900_ai_ci修改为utf8_general_ci
目录标题 0.[一定注意] 1. 查看排序规则 2. 数据库修改 3. 字段修改 4. 表修改 0.[一定注意] 表不能有外键 ,可以有索引 1. 查看排序规则 show variables wher ...
- linux中修改mysql排序规则_MySQL中的排序规则
MySQL中的排序规则.在新建MySQL数据库或表的时候经常会选择字符集和排序规则.数据库用的字符集大家都知道是怎么回事,那排序规则是什么呢? 排序规则:是指对指定字符集下不同字符的比较规则.其特征有 ...
- MySQL排序规则修改语句
-- ------------------------------------------ 表排序规则---------------------------- SELECT 'ALTER TABLE ...
- mysql排序规则错误_MySQL中“非法混合排序规则”错误的疑难解答
阿波罗的战车 更改字符串的一个(或两者)的排序规则以使它们匹配,或者添加一个COLLATE从句到你的表情.这"校对"到底是什么?如下文所述字符集和排序规则:A 字符集是一组符号和编 ...
最新文章
- python积分管理系统_python实现每天自动签到领积分的示例代码
- 创业思路(1) - 收藏夹分享平台
- wp网站链接不带html,解决WordPress网站带与不带WWW网址跳转问题
- 论文阅读课8-Chinese Relation Extraction with Multi-Grained Information and External Linguistic Knowledge
- Linux工作笔记-ssh中-X属性的使用(Linux传界面)
- MySQL中AES_ENCRYPT('密码','钥匙')函数 可以对字段值做加密处理
- 正则表达式在NLP的基本应用
- 拓端tecdat|R语言极值推断:广义帕累托分布GPD使用极大似然估计、轮廓似然估计、Delta法
- Oracle导入导出之dmp
- OGNL表达式的介绍
- php++jsapi,jsapi:云之家js-api文档 - 云之家·开放平台
- 项目管理软件推荐:项目计划变更管理太方便了
- 估算CarSim中车辆轮胎的纵向刚度与侧向刚度
- markdown在.html中生成目录
- 测试hadoop服务器NodeManager无法连接ResourceManager问题
- 下载Synechococcus elongatus UTEX 2973(accession no.为GCA_000817325.1 )的基因组注释文件,统计其中染色体序列(CP006471.1)前10
- 三年半经验,蚂蚁头条快手怎么选?网友:第一次看到头条比快手offer低的
- 05_解决mac百度网盘下载速度慢问题
- ORB-SLAM2代码详解09: 闭环线程LoopClosing
- 猫猫学IOS(十八)UI之QQ聊天布局_键盘通知实现自动弹出隐藏_自动回复