sql >> Databáze >  >> RDS >> Mysql

Jak převést všechny tabulky v databázi do jednoho řazení?

Pro každou tabulku musíte provést příkaz alter table. Prohlášení by mělo tento tvar:

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

Nyní, abyste získali všechny tabulky v databázi, budete muset provést následující dotaz:

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

Nyní tedy nechte MySQL napsat kód za vás:

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

Výsledky můžete zkopírovat a spustit. Syntaxi jsem netestoval, ale zbytek byste měli být schopni zjistit. Berte to jako malé cvičení.

Doufám, že to pomůže!



  1. Jaké je umístění klienta mysql .my.cnf v XAMPP pro Windows?

  2. Inteligentní MySQL GROUP BY pro streamy aktivit

  3. Převést časový řetězec na desetinné hodiny PHP

  4. MySQL zkrátí zřetězený výsledek funkce GROUP_CONCAT