Maison  >  Article  >  base de données  >  Comment modifier le jeu de caractères par lots dans MySQL

Comment modifier le jeu de caractères par lots dans MySQL

coldplay.xixi
coldplay.xixioriginal
2020-12-15 14:34:284982parcourir

Comment modifier par lots le jeu de caractères dans MySQL : Tout d'abord, vous devez utiliser des instructions pour générer toutes les instructions réellement exécutées ; puis, sur la base de la table de métadonnées MySQL, obtenez un ensemble de listes SQL directement exécutables et enfin, collez ; les instructions directement et exécutez-les.

Comment modifier le jeu de caractères par lots dans MySQL

L'environnement d'exploitation de ce tutoriel : système Windows 7, mysql version 8.0.22, ordinateur Dell G3.

Recommandations d'apprentissage gratuites associées : base de données mysql(vidéo)

mysql Comment modifier le jeu de caractères par lots :

1. Modifier l'encodage de la base de données et le jeu de caractères

Cette étape est relativement simple, il suffit de l'exécuter directement :

ALTER DATABASE db_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin;

2. La modification de l'encodage et du jeu de caractères de la table de données et des champs de la table

nécessite deux étapes.

Tout d'abord, vous devez utiliser des instructions pour générer toutes les instructions réellement exécutées :

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"

Cette instruction sera basée sur la table de métadonnées MySQL pour obtenir un ensemble de listes SQL pouvant être directement exécutées, comme suit :

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;

Parmi eux, table1 à table6 sont toutes les tables de données de la base de données.

Ensuite, collez directement l'instruction et exécutez-la.

Notez que CONVERT TO est utilisé ici à la place de DEFAULT car ce dernier ne modifiera pas l'encodage et le jeu de caractères des champs du tableau.

De plus, pour les bases de données contenant de nombreuses tables de données, vous pouvez d'abord exporter les résultats d'exécution de la première étape vers un fichier .sql, puis l'exécuter via le fichier SQL.

Recommandations d'apprentissage gratuites associées : programmation php (vidéo)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn