#走过,试过的路

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的库了

大功告成!

MySQL批量修改数据库的字符集的更多相关文章

  1. mysql批量修改数据库表引擎

    数据库表之前的引擎是MyISAM,影响事务操作,要改成Innodb引擎 查询表引擎 SELECT CONCAT(table_name,' ', engine) FROM information_sch ...

  2. 怎样在mysql里面修改数据库名称

    怎样在mysql里面修改数据库名称       提供三种方法:1. RENAME DATABASE db_name TO new_db_name这个..这个语法在mysql 5.1.7中被添加进来,到 ...

  3. Oracle :修改数据库服务器字符集

    最近,有现场反应,程序显示乱码.感觉很奇怪,该系统已经卖出去无数了.肯定是现场数据库字符集有问题,经过查看, 现场环境: window系统,oracle10g. 我们要求的数据库字符集是AL32UTF ...

  4. mysql 批量修改 表字段/表/数据库 字符集和排序规则

    今天接到一个任务是需要把数据库的字符编码全部修改一下,写了以下修正用的SQL,修正顺序是   表字段 > 表 > 数据库. 表字段修复: #改变字段数据 SELECT TABLE_SCHE ...

  5. MYSQL批量修改表前缀与表名sql语句

    修改表名 ALTER TABLE 原表名 RENAME TO 新表名; 一句SQL语句只能修改一张表 show tables; 1. SELECT CONCAT( 'ALTER TABLE ', ta ...

  6. mysql 批量修改字段方法

    一.正式环境操作注意事项: .关闭应用访问或者设置数据库只读 mysql设为只读方法: 开启只读: mysql> show global variables like "%read_o ...

  7. Ubuntu 安装 mysql 并修改数据库目录

    . . . . . 今天折腾了一下午的时间,恢复了无数次虚拟机快照,终于在 Ubuntu 上把 mysql 安装好了. mysql 是从官网下载的:mysql-server_5.7.16-1ubunt ...

  8. MYSQL批量插入数据库实现语句性能分析

    假定我们的表结构如下 代码如下   CREATE TABLE example ( example_id INT NOT NULL, name VARCHAR( 50 ) NOT NULL, value ...

  9. 使用Python批量修改数据库执行Sql文件

    由于上篇文章中批量修改了文件,有的时候数据库也需要批量修改一下,之前的做法是使用宝塔的phpMyAdmin导出一个已经修改好了的sql文件,然后依次去其他数据库里导入,效率不说极低,也算低了,且都是些 ...

随机推荐

  1. twitter 监控登陆活动

    http://vicenteaguileradiaz.com/download/tinfoleak/tinfoleak-1.2.tar.gz

  2. 修改Chrome的User Agent的方法 真实有效

    如何修改Chrome的User Agent: 通过网络上查找,修改Chrome的Usre Agent有3种方式,但有的方式是不起作用的. 给Chrome添加启动参数(有作用) 通过扩展-User-Ag ...

  3. Android EditText小结

    防止EditText获取焦点弹出输入法 android:focusable="true" android:focusableInTouchMode="true" ...

  4. HTML——JAVASCRIPT练习题——图片轮播

    方法一: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...

  5. FMDatabase 数据库的使用

    创建,插入,更新和删除:使用executeUpdate方法,而查询则用executeQuery 1.实例化FMDatabase //paths: ios下Document路径,Document为ios ...

  6. Scala入门指南与建议

    最近在学习使用Scala语言做项目,感觉这门语言实在是太优美了!作为一个本科数学.研究生机器学习专业的混合人才(哈哈),这门语言真的是满足了普通计算机编程(告诉计算机怎么做)和函数式编程(告诉计算机做 ...

  7. DBI && MySQL lock

    DBI: url set isolation to dirty read my $npmdb_dbh = DBI->connect("DBI:ODBC:npmdb", &qu ...

  8. COMET技术具体实现 结合PHP和JQUERY

    具体看代码,费话不说 PHP服务端 $mem = new RTMEM(); if(!$mem->conn()) exit('no mem server'); if(!$mem->getst ...

  9. 第二章——Serializable的使用(跨进程使用和Intent的传递对象)

    一.Serializable类(JAVA本身具有的) 简介:Serializable是一个接口. 作用:是JAVA提供的序列化接口,实现序列化和反序列化的操作. 二.跨进程使用 1.事前准备 publ ...

  10. android AsyncTask 的使用(转载)

    1 ) AsyncTask实现的原理,和适用的优缺点 AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可 ...