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

本文共 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

你可能感兴趣的文章
DNS域名服务基础
查看>>
mysql开启慢查询日志及验证过程
查看>>
Python 循环 while,for语句
查看>>
微信头像透露你的性格,快看看你是哪一类
查看>>
搜索引擎指令介绍
查看>>
PPT利用设计模板ppt素材
查看>>
Ansible playbook
查看>>
我的友情链接
查看>>
Java程序员从笨鸟到菜鸟之(九十八)深入java虚拟机(七)深入源码看java类加载器ClassLoader...
查看>>
kickstart及引导镜像制作
查看>>
python进程
查看>>
Vue.js笔记,从入门到精通
查看>>
Skype for Business实战演练之七:创建并发布新的拓扑
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
ADMT3.2域迁移之Server2003至Server2012系列(六)安装SQL Server2008
查看>>
webpack源码分析(1)----- webpack.cmd
查看>>
Oracle存在修改,不存在插入记录
查看>>
Java实现欢迎登录学员管理系统
查看>>
自我剖析,坚持有多难?
查看>>