テーブルごとにaltertableステートメントを実行する必要があります。ステートメントは次の形式に従います:
ALTER TABLE tbl_name
[[DEFAULT] CHARACTER SET charset_name]
[COLLATE collation_name]
ここで、データベース内のすべてのテーブルを取得するには、次のクエリを実行する必要があります。
SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA="YourDataBaseName"
AND TABLE_TYPE="BASE TABLE";
では、MySQLにコードを書かせてください:
SELECT CONCAT("ALTER TABLE ", TABLE_SCHEMA, '.', TABLE_NAME," COLLATE your_collation_name_here;") AS ExecuteTheString
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA="YourDatabaseName"
AND TABLE_TYPE="BASE TABLE";
結果をコピーして実行できます。私は構文をテストしていませんが、残りを理解できるはずです。ちょっとした練習だと思ってください。
お役に立てば幸いです!