将mysql所有表字段编码格式转换utf-8的存储过程
1、登陆mysql控制台
2、创建一个将整个数据库中所有表转字段换为utf-8编码的存储过程。CREATE PROCEDURE `pr_convert_dbtab_ut熠硒勘唏f8`(IN dbName varchar(100))BEGIN declare stop int default 0; declare tabCount int default 0; declare strSql varchar(1000); declare name varchar(100); declare cur CURSOR FOR select table_name from information_schema.tables where table_schema=dbName; declare CONTINUE HANDLER FOR SQLSTATE '02000' SET stop = null; OPEN cur; FETCH cur INTO name; WHILE ( stop is not null) DO set tabCount=tabCount+1; set strSql = concat('alter table `',name,'` convert to character set utf8'); set @sql1 = strSql; prepare stmt_p from @sql1; execute stmt_p; FETCH cur INTO name; END WHILE; CLOSE cur; SELECT concat('table: ', tabCount);END;转换表字段编码的sql语句为:alter table `tableName` convert to character set utf8'
3、输入调用存储过程的命令,参数为需要转换的数据库名mysql> call pr_convert_dbtab_utf8('jiradb');+-----------------------------+| concat('table: ', tabCount) |+-----------------------------+| table: 245 |+-----------------------------+1 row in setQuery OK, 0 rows affectedmysql>