ホームページ >データベース >mysql チュートリアル >mysqlで文字セットをバッチで変更する方法

mysqlで文字セットをバッチで変更する方法

coldplay.xixi
coldplay.xixiオリジナル
2020-12-15 14:34:285092ブラウズ

mysql で文字セットをバッチで変更する方法: まず、ステートメントを使用して、実際に実行されるすべてのステートメントを生成する必要があります。次に、MySQL メタデータ テーブルに基づいて、直接実行可能な SQL リストのセットを取得します。最後に、ステートメントを直接貼り付けて実行します。

mysqlで文字セットをバッチで変更する方法

このチュートリアルの動作環境: Windows 7 システム、mysql バージョン 8.0.22、Dell G3 コンピューター。

関連する無料学習の推奨事項: mysql データベース(ビデオ)

##mysql の方法文字セットをバッチで変更するには:

1. データベース エンコーディングと文字セットを変更します

この手順は比較的簡単で、直接実行するだけです:

ALTER DATABASE db_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin;

2. データ テーブルとテーブル

# 内のフィールドのエンコードと文字セットを変更するには、2 つの手順が必要です。

まず、ステートメントを使用して、実際に実行されるすべてのステートメントを生成する必要があります:

SELECT 
CONCAT("ALTER TABLE `", TABLE_NAME,"` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;") 
AS target_tables
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA="db_name"
AND TABLE_TYPE="BASE TABLE"

このステートメントは、次のように、MySQL メタデータ テーブルに基づいて直接実行可能な SQL リストのセットを取得します:

ALTER TABLE `table1` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
ALTER TABLE `table2` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
ALTER TABLE `table3` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
ALTER TABLE `table4` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
ALTER TABLE `table5` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
ALTER TABLE `table6` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

このうち、table1 ~ table6 はすべてデータベース内のデータテーブルです。

次に、ステートメントを直接貼り付けて実行します。

ここでは、

DEFAULT の代わりに CONVERT TO が使用されていることに注意してください。これは、後者はテーブル内のフィールドのエンコーディングと文字セットを変更しないためです。

さらに、多くのデータ テーブルを含むデータベースの場合は、まず最初のステップの実行結果を

.sql ファイルにエクスポートし、次に SQL ファイルを通じて実行できます。

関連する無料学習の推奨事項:

php プログラミング (ビデオ)

以上がmysqlで文字セットをバッチで変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。