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-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南
- 2024-12-07MySQL慢查询入门:快速掌握性能优化技巧
- 2024-12-07MySQL入门:新手必读的简单教程
- 2024-12-07MySQL入门:从零开始学习MySQL数据库
- 2024-12-07MySQL索引入门:新手快速掌握MySQL索引技巧
- 2024-12-06BinLog学习:MySQL数据库BinLog入门教程
- 2024-12-06Binlog学习:MySQL数据库的日志管理入门教程