将mysql所有表字段编码格式转换utf-8的存储过程

2025-11-19 17:17:24

1、登陆mysql控制台

将mysql所有表字段编码格式转换utf-8的存储过程

2、创建一个将整个数据库中所有表转字段换为utf-8编码的存储过程。

CREATE PROCEDURE `pr_convert_dbtab_utf8`(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'

将mysql所有表字段编码格式转换utf-8的存储过程

3、输入调用存储过程的命令,参数为需要转换的数据库名

mysql> call pr_convert_dbtab_utf8('jiradb');

+-----------------------------+

| concat('table: ', tabCount) |

+-----------------------------+

| table: 245                  |

+-----------------------------+

1 row in set

Query OK, 0 rows affected

mysql> 

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢