Различните съпоставяния на базата данни ви позволяват да съхранявате различни типове знаци в база данни. По подразбиране 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.