Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak przekonwertować wszystkie tabele w bazie danych do jednego zestawienia?

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!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Długość indeksu varchar MySQL

  2. MySQL Wybierz DISTINCT wiele kolumn na podstawie unikalności jednego wiersza?

  3. nazwa pola mysql ze zmiennej

  4. Gdzie bezpiecznie przechowywać dane uwierzytelniające bazy danych w witrynie PHP

  5. Jak zainstalować i skonfigurować MySQL na Ubuntu