MySQL批量修改数据表的字符集

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

由于Mysql的utf8是有缺陷的,不是真正的UTF-8,utf8mb4才是真正的UTF-8。

对于一些老的项目要修改字符集,可以参照我的另外一篇文章:

MySQL数据库字符集utf8如何转utf8mb4   https://blog.csdn.net/vfsdfdsf/article/details/89672717

本文使用的数据库版本是:5.7.17

更改表编码(字符集):

              ALTER TABLE TABLE_NAME DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; 

如果一个数据库有很多表要修改,如果没有好的办法是非常头疼而且是费时间的。方法有很多种,下面一种比较简单而且容易操作的方法。

查询某个数据库所有表名的语句:

SELECT TABLE_NAME from information_schema.`TABLES` WHERE TABLE_SCHEMA = 'DATABASE_NAME';
 

得到所有的表名,我们可以把表名拼接到上面修改表字符集的语句中去,得到如下语句:

SELECT CONCAT('ALTER TABLE ',TABLE_NAME,' DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;') from information_schema.`TABLES` WHERE TABLE_SCHEMA = 'DATABASE_NAME';

执行后得到的就是修改数据库中所有表字符集的语句,然后复制这些语句执行就可以了。

下面我以demo数据库为例进行操作:

 

如果本文有什么错误的地方烦请指出,谢谢!

如果有问题可以留言,希望本文可以帮助有需要的人。

记得点赞哟!

MySQL系列】数据库字符集修改 通过将数据库、和列的字符集统一更改为utf8mb4,我们可以确保数据存储具有更高的兼容性和灵活性。特别是对于需要存储多语言内容或特殊字符的应用程序,utf8mb4字符集提供了广泛的支持。👍🏻呗。❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄👍 👍 👍🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙。 阅读详情

相关推荐

mysql 字符集 性能_MySQL字符集不一致导致性能下降25%,你敢信?

故事是这样的:我在对MySQL进行性能测试时,发现CPU使用率接近100%,其中80%us, 16%sys,3%wa,iostat发现磁盘iops2000以下,avgqu-sz不超过3,%util最高70%,看来瓶颈不在磁盘IO上面,而在CPU上。sys部分使用率有点高。于是我果断使用perftop查看,赫然排在前面的2个,是my_ismbchar_utf8mb4和my_charpos_mb。m...

weixin_42154650的博客 200

mysql相关操作-三种批量修改

mysql相关操作-三种批量修改1、连接数据库2、设置自动增长当前值3、字符串拼接concat4、 批量update-select5、 批量update-INNER JOIN6、 批量update-CASE WHEN7、 批量修改字段8、查看进程9、杀死进程 1、连接数据库 mysql –u 用户名 -p密码 –h 服务器IP地址 –P 服务器端MySQL端口号 –D 数据库名 eg: mysql –u root –p123456 –h 192.168.0.168 –P 3306 –D “database

打工人的自我修养 3891

mysql怎么改存储过程uft8_如何更改MySQL数据库的编码为utf8mb4

utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的情字符。采用utf8mb4编码的好处是:存储与获取数据的时候,不用再考虑情字符的编码与解码问题。更改数据库的编码为utf8mb4:1. MySQL的版本utf8mb4的最低mysql版本支持版本为5.5.3+,若不是,请升级到较新版本。2. MySQL驱动5.1.34可用,最低不能低于5.1.13SHOW VARIABLE...

weixin_30462741的博客 739

Mysql批量修改字符集

Mysql批量修改字符集

qq_38652288的博客 2881

MySQL 批量修改数据表编码及字符集

一、 修改数据库编码及字符集 修改数据库编码及字符集比较简单: ALTER DATABASE db_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci; db_name: 数据库名称 set =: 后面跟着编码 COLLATE =: 后面跟着字符集 二、 修改数据表中字段的编码及字符集 注:这里需要分两步处理! 利用语句,生成所有实际执行的语句: SELECT CONCAT("ALTER TABLE `", TABLE_NAME

无限循环 8260

MySQL批量修改数据表数据表中所有字段的字符集

由于Mysql的utf8是有缺陷的,不是真正的UTF-8,utf8mb4才是真正的UTF-8。 对于一些老的项目要修改字符集,可以参照我的另外一篇文章: MySQL数据库字符集utf8如何转utf8mb4https://blog.csdn.net/vfsdfdsf/article/details/89672717 本文使用的数据库版本是:5.7.17 更改编码(字符集)和中...

努力容易成功难的博客 1万+

MySQL批量修改数据表编码及字符集utf8mb4

修改前查看:建议直接使用命令行连接数据库,最好不要使用Navicat等工具连接,不然查出的结果不准确 SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%'; Variable_name Value character_set_...

倔强的踩坑小白 5322

mysql所有的编码_MySQL 批量修改数据表编码及字符集

当需要修改数据库编码和字符集时,通常需要对其下属的所有中所有字段进行修改。以下备注批量修改方案( 以修改utf8mb4_bin 为例,注意将 db_name 换为真实的数据库名 )。1. 修改数据库编码及字符集这一步比较简单,直接执行即可:ALTER DATABASE db_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin;2. 修改数...

weixin_36111677的博客 1042

sqlyog更改字符集编码_MySQL 批量修改数据表编码及字符集

经常使用SQLyog导出导入数据库时,不懂为什么经常性出现编码错误字符集被设置成了默认,奇怪的很,可能是软件版本问题,当需要修改数据库编码和字符集时,通常需要对其下属的所有中所有字段进行修改。以下备注批量修改方案( 以修改utf8mb4_general_ci为例,注意将 db_name 换为真实的数据库名 )。1. 修改数据库编码及字符集这一步比较简单,直接执行即可:ALTERDATA...

weixin_42347634的博客 1624

mysql统一修改字符集_MySQL 批量修改数据表编码及字符集

当须要修改数据库编码和字符集时,一般须要对其下属的全部中全部字段进行修改。如下备注批量修改方案( 以修改utf8mb4_bin 为例,注意将db_name 换为真实的数据库名 )。1. 修改数据库编码及字符集这一步比较简单,直接执行便可:mysqlALTER DATABASE db_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin;2....

weixin_39662594的博客 381

MySQL批量修改数据表数据表中所有字段的字符集

查询某个数据库所有名的语句: # 更改 DATABASE_NAME SELECT TABLE_NAME from information_schema.`TABLES` WHERE TABLE_SCHEMA = 'DATABASE_NAME'; 把名拼接到上面更改编码(字符集)和中所有字段的编码(字符集)的语句中去,得到如下语句: # 根据转换字符集 修改 utf8mb4 ---> utf8mb4_general_ci SELECT CONCAT( 'ALTER TABLE ',

星辰大海 1531

批量修改mysql数据表字符集utf8mb4

SELECT CONCAT(‘ALTER TABLE ‘,TABLE_NAME,’ CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;’) from information_schema.TABLES WHERE TABLE_SCHEMA = ‘DATABASE_NAME’; 然后把查询得到的语句全部运行即可

qq_41297837的博客 782

mysql修改的编码_MySQL 批量修改数据表编码及字符集

当需要修改数据库编码和字符集时,通常需要对其下属的所有中所有字段进行修改。以下备注批量修改方案( 以修改utf8mb4_bin 为例,注意将 db_name 换为真实的数据库名 )。1. 修改数据库编码及字符集这一步比较简单,直接执行即可:ALTER DATABASE db_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin;2. 修改数...

weixin_42126749的博客 743
上一篇: MySQL数据库字符集utf8如何转utf8mb4
下一篇: MySQL批量修改数据表和数据表中所有字段的字符集
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值