Трябва да изпълните оператор alter table за всяка таблица. Изявлението ще следва следната форма:
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";
Можете да копирате резултатите и да ги изпълните. Не съм тествал синтаксиса, но трябва да можете да разберете останалото. Мислете за това като за малко упражнение.
Надявам се това да помогне!