Maison  >  Article  >  base de données  >  Quels sont les conseils pour apprendre les insertions et les mises à jour par lots MySQL ?

Quels sont les conseils pour apprendre les insertions et les mises à jour par lots MySQL ?

王林
王林original
2023-07-30 19:57:293957parcourir

Quels sont les conseils pour apprendre les insertions et mises à jour par lots MySQL ?

MySQL est un système de gestion de bases de données relationnelles populaire qui est largement utilisé dans divers types d'applications. Les insertions et mises à jour par lots sont l'une des techniques clés pour améliorer les performances des bases de données lors du traitement de grandes quantités de données. Cet article présentera plusieurs techniques d'insertion et de mise à jour par lots MySQL couramment utilisées et fournira des exemples de code correspondants.

1. Insérer des données par lots

  1. Utilisez l'instruction INSERT INTO VALUES pour insérer plusieurs éléments de données à la fois

INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...) , (value1, value2 , ...), ...

Par exemple, insérez plusieurs lignes de données sur les étudiants dans la table des étudiants :

INSERT INTO student (nom, âge, sexe) VALUES ('Alice', 18, 'femelle'), (« Bob », 20 ans, « homme »), (« Charlie », 19 ans, « homme ») ;

Cette méthode convient aux situations où les données sont connues et où la quantité de données est faible.

  1. Utilisez l'instruction INSERT INTO SELECT pour insérer plusieurs éléments de données sélectionnés dans une autre table à la fois

INSERT INTO nom_table (colonne1, colonne2, ...) SELECT colonne1, colonne2, ... FROM another_table WHERE condition ;

Par exemple, sélectionnez plusieurs éléments de données qui répondent aux conditions du tableau A et insérez-les dans le tableau B :

INSERT INTO table_B (column1, column2, ...) SELECT column1, column2, ... FROM table_A WHERE condition ;

Cette méthode convient aux situations où vous devez sélectionner des données d'une table en fonction de conditions et les insérer dans une autre table.

  1. Utilisez l'instruction LOAD DATA INFILE pour importer par lots des fichiers de données externes

LOAD DATA INFILE 'file_path' INTO TABLE table_name
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '
';

Par exemple, à partir d'une importation par lots de données d'un fichier csv dans une table :

CHARGER LE FICHIER DE DONNÉES '/data/students.csv' DANS LA TABLE étudiant
CHAMPS TERMINÉS PAR ',' ENCLOS PAR '"' LIGNES TERMINÉES PAR '
' ;

Cette méthode s'applique aux situations dans lesquelles les données doivent être importées par lots à partir de fichiers de données externes.

2. Mettre à jour les données par lots

  1. Utilisez l'instruction REPLACE INTO pour mettre à jour les données par lots

REPLACE INTO nom_table (colonne1, colonne2, ...) VALUES (valeur1, valeur2, ...), (valeur1, valeur2 , .. .), ...

Cette instruction supprimera d'abord les données qui remplissent les conditions, puis insérera de nouvelles données. Si les données à mettre à jour existent déjà, elles seront supprimées et réinsérées.

  1. Utilisez les instructions UPDATE et CASE pour mettre à jour les données par lots

UPDATE table_name
SET column1 = CASE

            WHEN condition1 THEN value1 
            WHEN condition2 THEN value2 
            ...
         END,
column2 = CASE 
            WHEN condition1 THEN value1 
            WHEN condition2 THEN value2 
            ...
         END,
...

WHERE condition ;

Par exemple, mettez à jour les informations sur les étudiants par lots en fonction des conditions :

UPDATE student
SET age = CASE

        WHEN name = 'Alice' THEN 19 
        WHEN name = 'Bob' THEN 21 
        ...
     END,
gender = CASE 
            WHEN name = 'Alice' THEN 'female' 
            WHEN name = 'Bob' THEN 'male' 
            ...
         END

WHERE name IN ('Alice', 'Bob', ...);

Cette méthode convient à la mise à jour des données par lots en fonction des conditions.

Ci-dessus sont plusieurs techniques d'insertion et de mise à jour par lots MySQL couramment utilisées. Vous pouvez choisir la méthode appropriée à utiliser en fonction de la situation réelle. Ce qui suit est un exemple complet qui illustre le scénario d'utilisation des instructions INSERT INTO VALUES et UPDATE pour insérer et mettre à jour les informations sur les étudiants par lots :

--Insérer les informations sur les étudiants par lots
INSERT INTO étudiant (nom, âge, sexe) VALUES
('Alice', 18 ans, 'femelle'),
('Bob', 20 ans, 'mâle'),
('Charlie', 19 ans, 'mâle');

-- Mettre à jour les informations sur les élèves par lots
MISE À JOUR de l'élève
SET age = CASE

        WHEN name = 'Alice' THEN 19 
        WHEN name = 'Bob' THEN 21 
        ...
     END,
gender = CASE 
            WHEN name = 'Alice' THEN 'female' 
            WHEN name = 'Bob' THEN 'male' 
            ...
         END

WHERE name IN ('Alice', 'Bob', ...);

En apprenant et en appliquant ces techniques d'insertion et de mise à jour par lots, vous pouvez améliorer l'efficacité opérationnelle et les performances de votre base de données MySQL , en particulier lors du traitement de grandes quantités de scènes de données.

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