日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql中修改表的默认编码和表中字段的编码

發布時間:2025/3/14 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql中修改表的默认编码和表中字段的编码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ALTER TABLE `table` DEFAULT CHARACTER SET utf8;

但是雖然修改了表的編碼格式,但是字段的編碼格式并沒有修改過來,沒有什么卵用

又發現一條語句,作用是修改字段的編碼格式

ALTER TABLE `tablename` CHANGE `字段名1` `字段名2` VARCHAR(36) CHARACTER SET utf8 NOT NULL;

?

最后找到這么一條語句

alter table `tablename` convert to character set utf8;

?

它可以修改一張表的所有字段的編碼格式,頓時方便多了

?

Ps :延伸一下,修改mysql中所有表,所有字段編碼,需要用到存儲過程

?

轉換表字段編碼的sql語句為:alter table `tableName` convert to character set utf8'

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;

?

輸入調用存儲過程的命令,參數為需要轉換的數據庫名

mysql> call pr_convert_dbtab_utf8('jiradb');

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

| concat('table: ', tabCount) |

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

| table: 245 |

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

1 row in set

Query OK, 0 rows affected

mysql>

轉載于:https://www.cnblogs.com/alanlee1473/articles/9577730.html

總結

以上是生活随笔為你收集整理的mysql中修改表的默认编码和表中字段的编码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。