Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL Промяна на колекцията на всички таблици

Различните съпоставяния на базата данни ви позволяват да съхранявате различни типове знаци в база данни. По подразбиране MySQL има набор от символи latin1 с сравнение latin1_swedish_ci. Въпреки това, можете лесно да промените MySQL съпоставяне на конкретни таблици, всички таблици или дори цяла база данни. Ето как да промените сортирането в MySQL.


Как да променя съпоставянето на всички таблици в MySQL

Ще разгледаме стъпките за промяна на сортирането в MySQL.


Ето SQL заявката за промяна на сортирането на една MySQL таблица

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

В горната заявка трябва да посочите име на таблица tbl_name . Можете също така по избор да посочите набор от знаци charset_name и съпоставяне име_на_колекция .

Бонус за четене:Топ блогове на база данни, които да следвате

Ето пример за промяна на съпоставянето на всички таблици на база данни на utf8_general_ci. Заменете име_на_база данни и име_на_таблица по-долу с имена на база данни и полета съответно.

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

Ако искате да промените сортирането на всички таблици във вашата база данни, трябва да изпълните горната заявка за всяка таблица поотделно.

Тъй като това може да бъде много досадно, ние създаваме заявка SELECT, която генерира изразите на таблицата ALTER за всяка таблица в нашата база данни. Първо, ето заявката SELECT, която връща всички подробности, свързани с таблицата във вашата база данни.

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

Бонус за четене:Топ алтернативи на MySQL Workbench

Ние модифицираме горната заявка SELECT, за да създадем оператор ALTER TABLE за всяка таблица във вашата база данни.

Ето заявката за избор, която ще генерира SQL заявки за всички таблици във вашата база данни. Заменете име_на_база данни и име_на_колекция по-долу с имената на вашата база данни и съпоставяне и я стартирайте, за да генерирате SQL заявки, за да промените сортирането на всички таблици във вашата база данни.

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

Бонус за четене:Как да активирате бавния вход на заявки в MySQL

Ето още една SQL заявка за промяна на сортирането на всички таблици на 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'

След като имате списък със заявки ALTER TABLE за всяка таблица, можете да копирате и поставите и да ги стартирате, за да промените сортирането на всички таблици.

Надяваме се, че горната статия ще ви помогне да промените сортирането на всички таблици в базата данни в 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. Mysql вмъква произволна дата и час в даден диапазон от време

  2. PHP с грешка в MySQL 8.0+:Сървърът поиска метод за удостоверяване, неизвестен на клиента

  3. MySQL Вмъкване в Select

  4. Функция MySQL SQRT() – Връща квадратния корен от число в MySQL

  5. Как да намеря всички таблици, които имат външни ключове, които препращат към определена table.column и имат стойности за тези външни ключове?