Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie konvertiere ich alle Tabellen in der Datenbank in eine Sortierung?

Sie müssen für jede Tabelle eine alter table-Anweisung ausführen. Die Anweisung würde folgende Form haben:

ALTER TABLE tbl_name
[[DEFAULT] CHARACTER SET charset_name]
[COLLATE collation_name]

Um nun alle Tabellen in der Datenbank zu erhalten, müssten Sie die folgende Abfrage ausführen:

SELECT * 
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA="YourDataBaseName"
AND TABLE_TYPE="BASE TABLE";

Lassen Sie nun MySQL den Code für Sie schreiben:

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";

Sie können die Ergebnisse kopieren und ausführen. Ich habe die Syntax nicht getestet, aber Sie sollten in der Lage sein, den Rest herauszufinden. Betrachten Sie es als eine kleine Übung.

Hoffe, das hilft!