博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL批量修改数据库的字符集
阅读量:6236 次
发布时间:2019-06-22

本文共 1194 字,大约阅读时间需要 3 分钟。

 

#走过,试过的路

UPDATE information_schema.`SCHEMATA` SET  DEFAULT_COLLATION_NAME='utf8_general_ci'  WHERE DEFAULT_COLLATION_NAME<>'utf8_general_ci';

#————尝试使用update语句来修改,这是走不通的,报以下错误 没有权限。

#错误代码: 1044

#Access denied for user 'root'@'%' to database 'information_schema'

#经过度娘查找资料,需要使用alter语句才可以修改DB的字符集

ALTER DATABASE mydb CHARACTER SET utf8;

 

#第一步,找出MySQL实例中字符集不是utf8的数据库

SELECT * FROM information_schema.`SCHEMATA` WHERE DEFAULT_COLLATION_NAME<>'utf8_general_ci';

#第二步,修改字符集 

#如果MySQL实例上有多个数据库需要将字符集改为utf8,我们可以采取的策略,如下:

#2.1 使用 CONCAT函数,相信大家看到以下的语句,应该能知道下一步怎么做了。

SELECT *,CONCAT(' ALTER DATABASE ',schema_name,' CHARACTER SET utf8;')strSql FROM information_schema.`SCHEMATA` WHERE DEFAULT_COLLATION_NAME<>'utf8_general_ci';

#2.2 复制出上一个select的结果,粘贴,最后执行

ALTER DATABASE 3_11_测试数据库1 CHARACTER SET utf8;ALTER DATABASE 3_3_testddb CHARACTER SET utf8;ALTER DATABASE 410_3_test CHARACTER SET utf8;…………

#第三步,检查验证是否修改成功

SELECT * FROM information_schema.`SCHEMATA` WHERE DEFAULT_COLLATION_NAME<>'utf8_general_ci';

#<r>查询:SELECT * FROM information_schema.`SCHEMATA` WHERE DEFAULT_COLLATION_NAME<>'utf8_general_ci' LIMIT 0, 1000

#返回了 0 行

#结果表明,已经没有字符集不是utf8的库了

大功告成!

转载于:https://www.cnblogs.com/cyun/p/5596195.html

你可能感兴趣的文章
Hibernate持久化技术实例讲解
查看>>
推荐一款轻量级的linux系统和网络监控工具
查看>>
YUM的使用方法
查看>>
C++:duplicate symbol
查看>>
C#基础(Day05)
查看>>
正则表达式
查看>>
robocode 机器人编码
查看>>
TortoiseSVN升级到1.8.X导致IDEA中Maven打包失败
查看>>
SpringAOP+Encache缓存技术
查看>>
Lock
查看>>
谁对谁错:李彦宏马化腾抱怨房价 任志强反驳称IT高薪导致
查看>>
Pig、Hive 自定义输入输出分隔符以及Map、Array嵌套分隔符冲突问题
查看>>
tomcat占cpu100%分析处理
查看>>
bpython ImportError: No module named _curses 的解决办法
查看>>
windows django 配置mysql (python2.7为例子)
查看>>
CloudStack源码阅读与问题解决----SSVM启动条件
查看>>
学习笔记 php mysql apache 的安装
查看>>
ubuntu12.04设置开机进入命令行
查看>>
linux 磁盘管理
查看>>
我的友情链接
查看>>