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.
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!