统一将字符字符集变成utf8_general_ci,已测试。

  1. DROP PROCEDURE IF EXISTS `chanageCharSet`;
  2. CREATE PROCEDURE `chanageCharSet`()
  3. BEGIN
  4. DECLARE done INT DEFAULT FALSE;
  5. DECLARE scheamName VARCHAR(100);
  6. DECLARE tableName VARCHAR(100);
  7. DECLARE columnName VARCHAR(100);
  8. DECLARE columnType VARCHAR(100);
  9. DECLARE alertSql VARCHAR(200);
  10. DECLARE _Cur CURSOR FOR (
  11. SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLUMN_TYPE
  12. FROM `information_schema`.`COLUMNS`
  13. WHERE DATA_TYPE='varchar' AND COLLATION_NAME <> 'utf8_general_ci' AND TABLE_SCHEMA like 'icop%'
  14. );
  15. DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
  16.  
  17. OPEN _Cur;
  18. REPEAT
  19. FETCH _Cur INTO scheamName, tableName, columnName, columnType;
  20. IF NOT done THEN
  21. SET alertSql = CONCAT(
  22. 'ALTER TABLE `',
  23. scheamName,
  24. '`.`',
  25. tableName,
  26. '` MODIFY COLUMN `',
  27. columnName,
  28. '` ',
  29. columnType,
  30. ' CHARACTER SET utf8 COLLATE utf8_general_ci;'
  31. );
  32. SET @ESQL = alertSql;
  33. PREPARE stmt1 FROM @ESQL;
  34. EXECUTE stmt1;
  35. DEALLOCATE PREPARE stmt1;
  36. END IF;
  37. UNTIL done END REPEAT;
  38. CLOSE _Cur;
  39. END;
  40.  
  41. CALL chanageCharSet();
  42. DROP PROCEDURE IF EXISTS `chanageCharSet`;

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

  1. MySQL批量修改数据库的字符集

    #走过,试过的路 UPDATE information_schema.`SCHEMATA` SET DEFAULT_COLLATION_NAME='utf8_general_ci' WHERE DEF ...

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

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

  3. mysql 批量修改字段方法

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

  4. MySQL批量修改相同后缀表名

    执行步骤 1.用concat批量生成修改表名的语句 SELECT CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO ', ,locate('_postfi ...

  5. mysql批量修改列类型-生成语句

    SELECT CONCAT( 'alter table ', table_name, ' MODIFY COLUMN ', column_name, ' float DEFAULT NULL;' ) ...

  6. mysql查看修改字符集

    1.列出MYSQL支持的所有字符集: SHOW CHARACTER SET; 2.当前MYSQL服务器字符集设置 SHOW VARIABLES LIKE 'character_set_%'; 3.当前 ...

  7. MySQL 如何修改字符集 utf8 改为 utf8mb4

    在实行sql server 向 mysql 迁移数据时,报错: Incorrect string value: '\xF0\x9F\x98\x8A' 原因是mysql 采用的是 utf8 的字符集,而 ...

  8. MySQL 查看修改字符集

    查看MYSQL数据库服务器和数据库字符集 方法一:show variables like '%character%'; 方法二:show variables like 'collation%'; sh ...

  9. MySQL 批量修改某一列的值为另外一个字段的值

    mysql> select * from fruit; +----+--------+-------+ | id | name | price | +----+--------+-------+ ...

随机推荐

  1. 远程连接MongoDB报“Network is unreachable”错误的解决方法

    解决办法:/etc/mongod.conf 里把127.0.0.1 改成 0.0.0.0

  2. sql 查询字段是中文/英文/数字 正则表达式

    一.包含中文字符 select * from 表名 where 列名 like '%[吖-座]%' 二.包含英文字符 select * from 表名 where 列名 like '%[a-z]%' ...

  3. Spring (一)

    Spring是一个开源框架,是一个基于IOC和AOP来架构多层的JavaEE 架构 默认是单例模式 IOC就是 Inversion of Control public class Girl { pri ...

  4. jsp导入数据库数据写法(模板)

    1.导入表格模板 <%@ page language="java" contentType="text/html; charset=utf-8" page ...

  5. [转][smart3d]Smart3D之手动配置 S3C 索引加载全部的OSGB瓦片数据

    转自:https://blog.csdn.net/u013719339/article/details/77840728/ 一.须知: S3C是Smart3D内部格式,实质上是一个分块模型的索引,可以 ...

  6. Swing使用Substance外观包异常问题

    问题一: 今天更新我的Java版QQ,在网上找到了Substance外观包,效果不错,直接用了,可是设置水印问题时就出现问题,网上有现成的例子 JFrame.setDefaultLookAndFeel ...

  7. 力扣(LeetCode)125. 验证回文串

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan, a c ...

  8. 第一个Netty程序

    netty就是一个高性能的NIO框架,用于java网络编程.下面说说思路: 服务端: 开启通道.设置网络通信方式.设置端口.设置接收请求的handler.绑定通道.最后关闭 客户端: 开启通道.设置网 ...

  9. (转)C# 单例模式

    文章1:  一.多线程不安全方式实现 public sealed class SingleInstance    {        private static SingleInstance inst ...

  10. array_map的使用

    其结果为: