mysql批量修改字段字符集_mysql如何批量修改字符集

mysql如何批量修改字符集的方法:首先需要利用语句,生成所有实际执行的语句;然后基于MySQL的元数据表,得到一组可直接执行的SQL列表;最后直接将语句粘贴并执行即可。

1edb8448f8671439b983339a09e1b2e0.png

本教程操作环境:windows7系统、mysql8.0.22版,Dell G3电脑。

相关免费学习推荐:mysql数据库(视频)

mysql如何批量修改字符集的方法:

1. 修改数据库编码及字符集

这一步比较简单,直接执行即可:ALTER DATABASE db_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin;

2. 修改数据表与表中字段的编码及字符集

这里需要两步。

首先,需要利用语句,生成所有实际执行的语句:SELECT

CONCAT("ALTER TABLE `", TABLE_NAME,"` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;")

AS target_tables

FROM INFORMATION_SCHEMA.TABLES

WHERE TABLE_SCHEMA="db_name"

AND TABLE_TYPE="BASE TABLE"

此语句会基于 MySQL 的元数据表,得到一组可直接执行的 SQL 列表,如下:ALTER TABLE `table1` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

ALTER TABLE `table2` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

ALTER TABLE `table3` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

ALTER TABLE `table4` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

ALTER TABLE `table5` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

ALTER TABLE `table6` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

其中,table1 到 table6 即为数据库中的所有数据表。

然后,直接将语句粘贴并执行即可。

注意,这里使用 CONVERT TO 而非 DEFAULT,是因为后者不会修改表中字段的编码和字符集。

此外,对于数据表比较多的数据库,可以先将第一步的执行结果导出到 .sql 文件,再通过该 SQL 文件执行即可。相关免费学习推荐:php编程(视频)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
修改 MySQL 数据库表中某个字段字符集编码,可以按照以下步骤操作: 1. 登录 MySQL 数据库,可以使用以下命令: ``` mysql -u 用户名 -p ``` 其中,用户名是你的 MySQL 用户名,执行该命令后,系统会提示你输入密码。 2. 选择要修改字段字符集编码的数据库,可以使用以下命令: ``` use 数据库名称; ``` 其中,数据库名称是你要修改字段字符集编码的数据库名称。 3. 查看当前表中的字段字符集编码,可以使用以下命令: ``` show create table 表名称; ``` 其中,表名称是你要修改字段字符集编码的表名称。 该命令会显示表的创建语句,其中包括字段字符集编码信息。 4. 修改表中某个字段字符集编码,可以使用以下命令: ``` alter table 表名称 modify 字段名称 字段类型 character set 字符集名称; ``` 其中,表名称是你要修改字段字符集编码的表名称,字段名称是你要修改字符集编码的字段名称,字段类型是该字段原本的数据类型,字符集名称是你要修改为的字符集编码。 执行该命令后,系统会提示修改成功。 5. 查看修改后的字段字符集编码,可以使用以下命令: ``` show create table 表名称; ``` 其中,表名称是你要修改字段字符集编码的表名称。 该命令会显示修改后的表的创建语句,其中包括修改后的字段字符集编码信息。 注意:修改字段字符集编码可能会影响该字段中已有的数据,因此需要谨慎操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值