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

歡迎訪問 生活随笔!

生活随笔

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

数据库

修改表名_面试官:如何批量修改mysql表字段、表、数据库字符集和排序规则

發布時間:2025/3/12 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 修改表名_面试官:如何批量修改mysql表字段、表、数据库字符集和排序规则 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

目前數據庫字符集統一用的utf8,由于項目需要,引進了表情,但是utf8mb5才支持表情字符,所以需統一修改數據庫字符集,下面介紹批量修改數據庫字符集的辦法。

修正順序是字段級別>表級別>庫級別。


一、批量修改整個數據庫字符集(字段級別)

統一將字符字符集變成utf8_general_ci

SELECT TABLE_SCHEMA '數據庫', TABLE_NAME '表', COLUMN_NAME '字段', CHARACTER_SET_NAME '原字符集', COLLATION_NAME '原排序規則', CONCAT( 'ALTER TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ' MODIFY COLUMN ', COLUMN_NAME, ' ', COLUMN_TYPE, ' CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;' ) '修正SQL' FROM information_schema.`COLUMNS` WHERE TABLE_SCHEMA = 'lcpdb1' AND CHARACTER_SET_NAME = 'utf8';

utf8是我demo的模糊匹配排序規則,這里需要替換為你數據庫中需要替換的字段的排序規則,utf8mb4設置的是替換的字符集,utf8mb4_general_ci設置的是替換的排序規則,可以換為需要修正為什么標準


二、批量修改整個數據庫字符集(表級別)

1、創建批量修改語句

修改單個表的字符集的命令是:alter table 表名 convert to character set utf8mb4 collate utf8mb4_bin;

創建修改語句的命令是:

SELECT TABLE_SCHEMA '數據庫', TABLE_NAME '表', TABLE_COLLATION '原排序規則', CONCAT( 'ALTER TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ' COLLATE=utf8mb4_general_ci;' ) '修正SQL' FROM information_schema.`TABLES` WHERE TABLE_SCHEMA = 'lcpdb1' AND TABLE_COLLATION = 'utf8_general_ci';

將上面的修正SQL語句批量復制,然后全部執行。


三、批量修改多個數據庫字符集(庫級別)

1、找出MySQL實例中字符集不是utf8mb4的數據庫

SELECT * FROM information_schema.`SCHEMATA` WHERE DEFAULT_COLLATION_NAME<>'utf8_general_ci';

2、批量修改

SELECT SCHEMA_NAME '數據庫', DEFAULT_CHARACTER_SET_NAME '原字符集', DEFAULT_COLLATION_NAME '原排序規則', CONCAT( 'ALTER DATABASE ', SCHEMA_NAME, ' CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;' ) '修正SQL' FROM information_schema.`SCHEMATA` WHERE DEFAULT_CHARACTER_SET_NAME='utf8';

覺得有用的朋友多幫忙轉發哦!后面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注下~

總結

以上是生活随笔為你收集整理的修改表名_面试官:如何批量修改mysql表字段、表、数据库字符集和排序规则的全部內容,希望文章能夠幫你解決所遇到的問題。

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