Musisz wykonać instrukcję alter table dla każdej tabeli. Oświadczenie miałoby następującą formę:
ALTER TABLE tbl_name
[[DEFAULT] CHARACTER SET charset_name]
[COLLATE collation_name]
Teraz, aby uzyskać wszystkie tabele w bazie danych, musisz wykonać następujące zapytanie:
SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA="YourDataBaseName"
AND TABLE_TYPE="BASE TABLE";
Więc teraz pozwól MySQL na napisanie kodu za Ciebie:
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";
Możesz skopiować wyniki i wykonać je. Nie testowałem składni, ale powinieneś być w stanie rozgryźć resztę. Pomyśl o tym jak o małym ćwiczeniu.
Mam nadzieję, że to pomoże!