Heim  >  Artikel  >  Datenbank  >  So ändern Sie den Zeichensatz in MySQL stapelweise

So ändern Sie den Zeichensatz in MySQL stapelweise

coldplay.xixi
coldplay.xixiOriginal
2020-12-15 14:34:284982Durchsuche

So ändern Sie den Zeichensatz in MySQL: Zuerst müssen Sie Anweisungen verwenden, um alle tatsächlich ausgeführten Anweisungen zu generieren. Anschließend müssen Sie auf der Grundlage der MySQL-Metadatentabelle einen Satz direkt ausführbarer SQL-Listen abrufen und sie ausführen.

So ändern Sie den Zeichensatz in MySQL stapelweise

Die Betriebsumgebung dieses Tutorials: Windows 7-System, MySQL-Version 8.0.22, Dell G3-Computer.

Verwandte kostenlose Lernempfehlungen: MySQL-Datenbank (Video)

So ändern Sie den Zeichensatz in MySQL stapelweise:

1. Ändern Sie die Datenbankkodierung und den Zeichensatz

Dieser Schritt ist Relativ einfach. Führen Sie es einfach direkt aus:

ALTER DATABASE db_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin;

2. Ändern Sie die Codierung und den Zeichensatz der Datentabelle und der Felder in der Tabelle. Dies erfordert zwei Schritte.

Zuerst müssen Sie Anweisungen verwenden, um alle tatsächlich ausgeführten Anweisungen zu generieren:

SELECT 
CONCAT("ALTER TABLE `", TABLE_NAME,"` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;") 
AS target_tables
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA="db_name"
AND TABLE_TYPE="BASE TABLE"

Diese Anweisung basiert auf der MySQL-Metadatentabelle, um eine Reihe von SQL-Listen zu erhalten, die wie folgt direkt ausgeführt werden können:

ALTER TABLE `table1` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
ALTER TABLE `table2` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
ALTER TABLE `table3` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
ALTER TABLE `table4` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
ALTER TABLE `table5` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
ALTER TABLE `table6` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

Unter ihnen , Tabelle1 bis Tabelle6 sind alle Datentabellen in der Datenbank.

Dann fügen Sie einfach die Anweisung ein und führen Sie sie aus.

Beachten Sie, dass hier CONVERT TO anstelle von DEFAULT verwendet wird, da letzteres die Kodierung und den Zeichensatz der Felder in der Tabelle nicht ändert.

Darüber hinaus können Sie bei Datenbanken mit vielen Datentabellen zunächst die Ausführungsergebnisse des ersten Schritts in die Datei .sql exportieren und sie dann über die SQL-Datei ausführen. CONVERT TO 而非 DEFAULT,是因为后者不会修改表中字段的编码和字符集。

此外,对于数据表比较多的数据库,可以先将第一步的执行结果导出到 .sql

Verwandte kostenlose Lernempfehlungen:

php-Programmierung (Video)

Das obige ist der detaillierte Inhalt vonSo ändern Sie den Zeichensatz in MySQL stapelweise. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn