"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je copier sélectivement des données entre des tables MySQL à l'aide de INSERT INTO...SELECT ?

Comment puis-je copier sélectivement des données entre des tables MySQL à l'aide de INSERT INTO...SELECT ?

Publié le 2024-11-25
Parcourir:384

How Can I Selectively Copy Data Between MySQL Tables Using INSERT INTO...SELECT?

Copie de données entre des tables MySQL avec sélection de champs personnalisés

Dans le domaine de la gestion de bases de données, le transfert efficace de données entre les tables est une tâche courante. MySQL propose plusieurs méthodes pour y parvenir, notamment l'instruction INSERT INTO...SELECT.

Considérez un scénario dans lequel vous disposez de deux tables MySQL, la table 1 (la table existante) et la table 2 (la nouvelle table). Vous souhaitez copier sélectivement des champs spécifiques du tableau 1 vers le tableau 2, en fonction des critères suivants :

  • Tableau 1 : Contient des colonnes telles que aid, st_id, from_uid et message .
  • Tableau 2 : Contient des colonnes telles que st_id, uid, modifié, statut et assign_status.

Utilisation de requêtes MySQL pour la copie sélective de données :

Pour atteindre votre objectif, vous pouvez utiliser la requête MySQL suivante :

INSERT INTO table2 (st_id, uid, changed, status, assign_status)
SELECT st_id, from_uid, now(), 'Pending', 'Assigned'
FROM table1;

Cette requête effectue les opérations suivantes :

  1. Insère des données dans le tableau 2, y compris les colonnes suivantes :

    • st_id
    • uid
    • modifié (défini sur l'horodatage actuel à l'aide de la fonction NOW())
    • statut (défini sur 'En attente')
    • assign_status (défini sur 'Assigned')
  2. Sélectionne les données du tableau 1, correspondant aux colonnes de l'instruction INSERT. Plus précisément, il sélectionne :

    • st_id
    • from_uid

Si vous souhaitez copier toutes les lignes du tableau 1, vous pouvez omettre la clause WHERE. Toutefois, si vous souhaitez limiter la copie à un sous-ensemble spécifique de lignes, vous pouvez ajouter une clause WHERE avec les conditions souhaitées.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3