MySQL ist ein beliebtes relationales Datenbankverwaltungssystem. Beim Erstellen von Datenbanken und Tabellen definieren wir normalerweise Zeichensätze und Zeichenkodierungen dafür. Wenn die Zeichenkodierung der Datenbank und der Tabelle inkonsistent ist, können einige oder alle Daten verloren gehen. Daher ist es sehr wichtig, die Zeichenkodierung richtig einzustellen. In diesem Artikel erkläre ich, wie man die Zeichenkodierung einer vorhandenen Datenbank oder Tabelle in MySQL ändert.
Bevor wir die Zeichenkodierung ändern, müssen wir zunächst die Zeichenkodierung verstehen, die von der aktuellen Datenbank oder Tabelle verwendet wird. Es kann über die folgende SQL-Anweisung angezeigt werden:
SHOW CREATE DATABASE database_name;
SHOW CREATE TABLE table_name;
Unter diesen stellen database_name
und table_name
die anzuzeigenden Datenbank- bzw. Tabellennamen dar. Nachdem Sie den obigen Befehl ausgeführt haben, können Sie die Informationen zur Zeichenkodierung in den Ergebnissen sehen. database_name
和 table_name
分别表示要查看的数据库和表名。执行以上命令后,可以在结果中看到字符编码信息。
一般情况下,我们不需要修改数据库的字符编码。如果确实需要修改,可以按照以下步骤进行操作:
sudo systemctl stop mysql
mysqldump -u root -p --opt --default-character-set=utf8mb4 dbname > dbname_backup.sql cp -a /var/lib/mysql /var/lib/mysql_backup
其中,dbname
表示要备份的数据库名。
/etc/mysql/my.cnf
。在 [mysqld]
区块下添加以下内容:
[mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci
如果已经存在相应的配置项,则直接修改其对应的值即可。使用 utf8mb4
字符集和 utf8mb4_unicode_ci
排序规则可以支持更多语言的字符。
sudo systemctl start mysql mysql -u root -p ALTER DATABASE dbname CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
其中,dbname
表示要修改字符编码的数据库名。
如果想要修改表的字符编码和排序规则,可以按照以下步骤进行操作:
mysqldump -u root -p --opt --default-character-set=utf8mb4 dbname tablename > tablename_backup.sql
其中,dbname
和 tablename
分别表示要备份的数据库和表名。
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
其中,table_name
表示要修改字符编码的表名。
执行以上命令后,MySQL 会将表的所有字符类型字段的编码和排序规则更改为 utf8mb4
和 utf8mb4_unicode_ci
。
如果只想修改表中某个字段的字符编码,可以按照以下步骤进行操作:
mysqldump -u root -p --opt --default-character-set=utf8mb4 dbname tablename > tablename_backup.sql
其中,dbname
和 tablename
分别表示要备份的数据库和表名。
ALTER TABLE tablename MODIFY COLUMN column_name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
其中,tablename
和 column_name
分别表示要修改字符编码的表和字段名。
执行以上命令后,MySQL 会将该字段的字符编码和排序规则更改为 utf8mb4
和 utf8mb4_unicode_ci
dbname
den Namen der zu sichernden Datenbank dar. 🎜/etc/mysql/my.cnf
. [mysqld]
-Block hinzu: 🎜rrreee🎜Wenn das entsprechende Konfigurationselement bereits vorhanden ist, ändern Sie einfach seinen entsprechenden Wert direkt. Zeichen für weitere Sprachen können mit dem Zeichensatz utf8mb4
und der Sortierung utf8mb4_unicode_ci
unterstützt werden. 🎜dbname
den Datenbanknamen dar, dessen Zeichenkodierung geändert werden soll. 🎜🎜Ändern Sie die Zeichenkodierung der Tabelle.🎜🎜Wenn Sie die Zeichenkodierung und Sortierregeln der Tabelle ändern möchten, können Sie die folgenden Schritte ausführen: 🎜dbname
und tablename
für die zu sichernden Datenbank- bzw. Tabellennamen. 🎜table_name
den Namen der Tabelle dar, deren Zeichenkodierung geändert werden soll. 🎜🎜Nach der Ausführung des obigen Befehls ändert MySQL die Kodierung und Sortierung aller Zeichentypfelder in der Tabelle in utf8mb4
und utf8mb4_unicode_ci
. 🎜🎜Feldzeichenkodierung ändern🎜🎜Wenn Sie nur die Zeichenkodierung eines Feldes in der Tabelle ändern möchten, können Sie die folgenden Schritte ausführen: 🎜dbname
und tablename
für die zu sichernden Datenbank- bzw. Tabellennamen. 🎜tablename
und column_name
die Tabellen- und Feldnamen dar, deren Zeichenkodierung jeweils geändert werden soll. 🎜🎜Nach der Ausführung des obigen Befehls ändert MySQL die Zeichenkodierung und Sortierung dieses Felds in utf8mb4
und utf8mb4_unicode_ci
. 🎜🎜Zusammenfassung🎜🎜Die korrekte Einstellung der Zeichenkodierung ist für das Speichern und Abfragen von Daten sehr wichtig. In MySQL können wir die Zeichenkodierungs- und Sortierregeln vorhandener Datenbanken, Tabellen und Felder mithilfe der oben genannten Methoden ändern. Es ist zu beachten, dass vor der Durchführung der oben genannten Vorgänge unbedingt eine Sicherungskopie der Originaldaten oder der Datenbankdefinitionsdatei erstellt werden muss, um Datenverlust zu verhindern. 🎜Das obige ist der detaillierte Inhalt vonSo ändern Sie die Zeichenkodierung in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!