Maison > base de données > tutoriel mysql > Comment copier efficacement des données entre des tables MySQL ?

Comment copier efficacement des données entre des tables MySQL ?

Patricia Arquette
Libérer: 2024-11-28 02:25:11
original
302 Les gens l'ont consulté

How to Efficiently Copy Data Between MySQL Tables?

Copier des données d'une table à une autre dans MySQL

Dans MySQL, copier des données d'une table à une autre est une opération courante souvent effectuée pour manipulation de données ou création d’une table secondaire. Considérons un scénario dans lequel vous devez transférer des champs spécifiques d'une table existante (tableau 1) vers une nouvelle table (tableau 2).

Le tableau 1 se compose des colonnes suivantes :

Column Description
aid Auto-incrementing ID
st_id Student ID
from_uid Sender's ID
to_gid Recipient group's ID
to_uid Receiver's ID
created Creation timestamp
changed Modification timestamp
subject Message subject
message Message content
link Message link

Le tableau 2 a une structure différente :

Column Description
st_id Student ID
uid User ID
changed Modifiedtimestamp
status Current status
assign_status Assignment status

Copie de données à l'aide de MySQL Requêtes

Pour transférer des données du tableau 1 au tableau 2, MySQL fournit une méthode pratique utilisant une requête INSERT INTO avec une instruction SELECT. Vous pouvez y parvenir en exécutant la requête suivante :

INSERT INTO table2 (st_id, uid, changed, status, assign_status)
SELECT st_id, from_uid, now(), 'Pending', 'Assigned'
FROM table1;
Copier après la connexion

Explication de la requête :

  • L'instruction INSERT INTO initialise l'opération d'insertion, en spécifiant la cible table (table2).
  • L'instruction SELECT récupère les données de la table 1.
  • Le mappage de colonnes (par exemple, st_id TO st_id) garantit que les données sont copiées dans les colonnes appropriées du tableau 2.
  • now() est utilisé pour définir la colonne modifiée dans le tableau 2 à l'horodatage actuel.
  • Les colonnes status et assign_status sont définies sur « En attente » et « Attribué ». respectivement.
  • Les données sont transférées du tableau 1 au tableau 2 en exécutant la requête.

Considérations supplémentaires :

  • Si vous souhaitez uniquement copier un sous-ensemble de lignes du tableau 1, vous pouvez ajouter une clause WHERE au SELECT déclaration.
  • Pour garantir un transfert de données précis, assurez-vous que les types de données des colonnes des deux tables sont compatibles.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal