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

MySQL Zmiana sortowania wszystkich tabel

Różne sortowanie bazy danych umożliwia przechowywanie różnych typów znaków w bazie danych. Domyślnie MySQL ma zestaw znaków latin1 z sortowaniem latin1_swedish_ci. Możesz jednak łatwo zmienić sortowanie MySQL konkretnych tabel, wszystkich tabel lub nawet całej bazy danych. Oto jak zmienić sortowanie w MySQL.


Jak zmienić sortowanie wszystkich tabel w MySQL

Przyjrzymy się krokom zmiany sortowania w MySQL.


Oto zapytanie SQL zmieniające sortowanie jednej tabeli MySQL

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

W powyższym zapytaniu musisz podać nazwę tabeli tbl_name . Możesz także opcjonalnie określić zestaw znaków charset_name i sortowanie collation_name .

Przeczytaj dodatkowe:Najlepsze blogi z bazami danych do obserwowania

Oto przykład zmiany sortowania wszystkich tabel bazy danych na utf8_general_ci. Zastąp nazwa_bazy i nazwa_tabeli poniżej odpowiednio z nazwami baz danych i pól.

alter table database_name.table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Jeśli chcesz zmienić sortowanie wszystkich tabel w bazie danych, musisz uruchomić powyższe zapytanie dla każdej tabeli osobno.

Ponieważ może to być bardzo żmudne, tworzymy zapytanie SELECT, które generuje instrukcje tabeli ALTER dla każdej tabeli w naszej bazie danych. Po pierwsze, oto zapytanie SELECT, które zwraca wszystkie szczegóły dotyczące tabeli w Twojej bazie danych.

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

Przeczytaj bonus:Najlepsze alternatywy dla MySQL Workbench

Zmodyfikujemy powyższe zapytanie SELECT, aby utworzyć instrukcję ALTER TABLE dla każdej tabeli w Twojej bazie danych.

Oto zapytanie wybierające, które wygeneruje zapytania SQL dla wszystkich tabel w Twojej bazie danych. Zastąp nazwa_bazy i collation_name poniżej ze swoją bazą danych i nazwami sortowania i uruchom go, aby wygenerować zapytania SQL w celu zmiany sortowania wszystkich tabel w Twojej bazie danych.

SELECT CONCAT("ALTER TABLE ", TABLE_SCHEMA, '.', TABLE_NAME," COLLATE collation_name;") AS ExecuteTheString FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA="database_name" AND TABLE_TYPE="BASE TABLE";

Przeczytaj bonus:Jak włączyć logowanie powolnych zapytań w MySQL

Oto kolejne zapytanie SQL zmieniające sortowanie wszystkich tabel na utf8.

SELECT CONCAT('ALTER TABLE ', tbl.TABLE_SCHEMA, '.', tbl.TABLE_NAME, ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;') FROM information_schema.TABLES
 tbl WHERE tbl.TABLE_SCHEMA = 'database_name'

Gdy masz już listę zapytań ALTER TABLE dla każdej tabeli, możesz je skopiować, wkleić i uruchomić, aby zmienić sortowanie wszystkich tabel.

Mamy nadzieję, że powyższy artykuł pomoże Ci zmienić sortowanie wszystkich tabel w bazie danych w MySQL.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co jest szybsze:wiele pojedynczych WSTAWEK czy jedna wielowierszowa WSTAWKA?

  2. mysql_fetch_array zwraca tylko jeden wiersz

  3. Jak czytać pliki dziennika binarnego MySQL (BinLog) za pomocą mysqlbinlog

  4. Łączenie trzech stołów za pomocą MySQL

  5. Jak połączyć się z MySQL za pomocą Node.js