MySQL修改表和字段的字符集和排序规则
2022/2/27 19:23:21
本文主要是介绍MySQL修改表和字段的字符集和排序规则,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
摘要:通过设置表的字符集和排序规则,解决MySQL查询时不区分字母大小写、插入时不支持特殊字符的问题。
关于MySQL查询时不区分字母大小写、插入时不支持特殊字符的问题,只有修改表的字符集和排序规则才能根治,而且事半功倍。utf8mb4支持的最低mysql版本为5.5.3+,若不是,请升级到较新版本。下面以把字符集和排序规则分别修改为utf8mb4 和 utf8mb4_bin为例,进行展开描述,当然,童鞋们也可以换成其它字符集和排序规则,请量体裁衣,自行决定。
查看表的字符集和排序规则
查看schema中某张表的排序规则:
show table status from schema_name like '%table_name%';
查看schema中所有表的排序规则:
SELECT table_name, table_type, engine, version, table_collation FROM information_schema.tables WHERE table_schema = 'schema_name' ORDER BY table_name DESC;
上述SQL脚本支持表名模糊匹配。查看某张表中字段的字符集和排序规则:
show full COLUMNS FROM table_name;
修改表的字符集和排序规则
修改数据库的字符集编码命令如下:
ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
修改表的字符集编码:
alter table table_name character set utf8mb4;
它只修改表新增列的默认定义,已有列的字符集不受影响,请格外注意。若要同时修改表字符集和已有列字符集,并将已有数据进行字符集编码转换,请使用如下CONVERT TO脚本:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
修改字段的字符集和排序规则
修改某个字段的字符集编码:
ALTER TABLE table_name CHANGE column_name column_name VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
注:执行命令过程中字段名无需加引号。修改完数据库字符集,立即生效。
结束语
工作中处处都需要学习,有时候看似简单的一个优化,可以让你深入学习后收获各种知识。所以在学习中要不求甚解,不仅要了解这个知识点,也要熟悉为什么要这么做。
这篇关于MySQL修改表和字段的字符集和排序规则的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-25MySQL报错Duplicate entry '0' for key 'PRIMARY'
- 2024-05-29阿里 Canal 实时同步 MySQL 增量数据至 ClickHouse 数据库
- 2024-05-24在Linux下管理MySQL的大小写敏感性
- 2024-04-26MySQL查出时间比实际晚8小时的解决方案
- 2024-04-01JPA不识别MySQL的枚举类型
- 2024-03-30mysql数据库表卡死解决方法
- 2024-03-15MySQL多数据源笔记5-ShardingJDBC实战
- 2024-03-11natural join mysql
- 2024-03-11关于VS2017,VS2015 中利用 EF使用Mysql 不显示数据源问题解决方案
- 2024-02-26mysql 阿里云xb后缀备份文件恢复-icode9专业技术文章分享