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

DROP PROCEDURE IF EXISTS `chanageCharSet`;
CREATE PROCEDURE `chanageCharSet`()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE scheamName VARCHAR(100);
DECLARE tableName VARCHAR(100);
DECLARE columnName VARCHAR(100);
DECLARE columnType VARCHAR(100);
DECLARE alertSql VARCHAR(200);
DECLARE _Cur CURSOR FOR (
SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLUMN_TYPE
FROM `information_schema`.`COLUMNS`
WHERE DATA_TYPE='varchar' AND COLLATION_NAME <> 'utf8_general_ci' AND TABLE_SCHEMA like 'icop%'
);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN _Cur;
REPEAT
FETCH _Cur INTO scheamName, tableName, columnName, columnType;
IF NOT done THEN
SET alertSql = CONCAT(
'ALTER TABLE `',
scheamName,
'`.`',
tableName,
'` MODIFY COLUMN `',
columnName,
'` ',
columnType,
' CHARACTER SET utf8 COLLATE utf8_general_ci;'
);
SET @ESQL = alertSql;
PREPARE stmt1 FROM @ESQL;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
END IF;
UNTIL done END REPEAT;
CLOSE _Cur;
END; CALL chanageCharSet();
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. scala中option、None、some对象

    转载:http://www.jianshu.com/p/95896d06a94d 1.option类型避免对象是空值,造成空指针异常. 2.None对象表示null,在没有对象返回时使用,some在有 ...

  2. &&并且, ||或 , 的用法 ,区别

    &&与运算必须同时都为true才是true,如果左边为false结果肯定为false: ||或运算,只要左边为true结果一定为true,两边都为false结果才是false. 只有当 ...

  3. 力扣(LeetCode)202. 快乐数

    编写一个算法来判断一个数是不是"快乐数". 一个"快乐数"定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 ...

  4. iOS获取UUID

    转自:<iOS获取设备的唯一标识的方法总结以及最好的方法> 参考:<获取iOS设备唯一标识> 总结一下: 1.代码采用CFUUID+KeyChain的实现方式. 2.CFUUI ...

  5. Codeforces 444 C - DZY Loves Colors

    C - DZY Loves Colors 思路: 分块,复杂度有点玄学,和普通分块不同的是在这个块被一次染色的时候暴力染整个块. 代码: #pragma GCC optimize(2) #pragma ...

  6. Python -- jpype JVM的第三方库使用

    Python -- jpype 安装 jpype 如图:直接执行 命令:pip install jpype 可见失败,提示没有版本信息 可以使用 pip  search jpype 查看相关版本信息 ...

  7. python三级菜单实例(傻瓜版和进阶版)

    程序: python三级菜单 要求: : 1.打印省.市.县三级菜单 2.可返回上一级 3.可随时退出程序 方案一:傻瓜版(其实傻瓜版考察的主要是思路!思路清楚了,那才不是傻瓜!O(∩_∩)O哈哈~) ...

  8. android--------性能优化之Allocation Tracker

    Allocation Tracker 能做什么? 追踪内存分配信息,按顺序排列,这样我们就能清晰看出来某一个操作的内存是如何一步一步分配出来的.比如在有内存抖动的可疑点,我们可以通过查看其内存分配轨迹 ...

  9. laravel中常用的获取路径的函数

    1. app_path() // 获取app目录的路径 2. base_path() // 根目录的路径 3. config_path() // config目录的路径 4. public_path( ...

  10. chrome 浏览器去掉输入框背景透明色

    chrome浏览器选择记住密码的账号,输入框会自动加上黄色的背景,有些设计输入框是透明背景的,需要去除掉这个黄色的背景: 这个黄色背景是谷歌浏览器默认的样式 user agent stylesheet ...