统一将字符字符集变成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. virtualbox中的虚拟机和windows共享文件夹

    http://www.jianshu.com/p/4e3c8b06cb06 为什么要共享文件夹? 在工作的过程当中会使用到不同的软件开发环境,php的,python的,nodejs的为了隔离这些应用环 ...

  2. MsgWaitForMultipleObjects_测试

    1.个人感觉: 1.1.MSDN中(https://msdn.microsoft.com/en-us/library/ms684242.aspx),说: “ dwWakeMask [in] The i ...

  3. Linux环境下配置及启动Hadoop(伪集群)

    1.下载tag软件包后,我习惯放到software文件夹下,并建立app文件夹2.通过tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz -C ~/app/ 命令解压到app ...

  4. kbengine学习1 安装

    KBengine一年前就知道了,但是没来得及学(只记得是C++ + python脚本),前一个项目unity3d+fkask+socketio+sqlite硬怼出来的.这半年也没来得及管.(好像当时看 ...

  5. MYSQL常用函数(类型转化函数)

    为了进行数据类型转化,MySQL提供了CAST()函数,它可以把一个值转化为指定的数据类型.类型有:BINARY,CHAR,DATE,TIME,DATETIME,SIGNED,UNSIGNED 示例: ...

  6. boostrapt的二级下拉菜单

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <meta conte ...

  7. Angular 学习笔记 ( 创建 library, 转换老旧的 library )

    更新 : 2018-10-28 不知道为什么在 ng 跑一直做不到 .d.ts 最后发现,如果有一个插件 propagating-hammerjs.ts 那么就在 root create 一个 pro ...

  8. (转)Nandflash读写

    ------------------------------------------------------------------------------------------文章1------- ...

  9. 转载:删除github上文件夹的两种方式

    http://www.jianshu.com/p/286be61bb9b8 删除github上文件夹的两种方式(解决已经加入ignore的文件夹无法从远程仓库删除的问题) 如果此文件夹已被加入git追 ...

  10. English trip V1 - B 15. Giving Personal Information 提供个人信息 Teacher:Solo Key: Do/Does

    In this lesson you will learn to answer simple questions about yourself.  本节课讲学到回答关于自己的一些简单问题 课上内容(L ...