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

Mehvish Ashiq 30 janvier 2023
  1. Copier des données d’une base de données à une autre
  2. Copier les données du serveur MySQL vers le serveur MS SQL
  3. Conclusion
Copier des données d'une base de données à une autre dans MySQL

Nous découvrirons différentes façons de copier des données d’une base de données à une autre.

Cette stratégie de copie des données est très utile en réplication de données. En raison de la réplication des données, les données peuvent être servies sur différents serveurs et mises à la disposition de tous les utilisateurs sans aucune incohérence.

Les avantages de la réplication des données incluent une disponibilité et une fiabilité accrues des données et une réduction des frais généraux de communication. Nous pouvons copier la base de données complète ou partielle d’un serveur de base de données à un autre.

Dans ce didacticiel, nous verrons comment copier des données dans MySQL (avec le même utilisateur), MS SQL Server (avec le même utilisateur) et de MySQL vers MS SQL Server (ayant différents utilisateurs).

Copier des données d’une base de données à une autre

Utilisation du serveur MySQL

Nous avons deux bases de données nommées students et person dans notre serveur MySQL. La base de données person a une table nommée customers, et la base de données students a une table nommée student que nous voulons copier dans la base de données person.

Il est important de noter que nous copions les données sur un serveur (MySQL 8.0.27) avec un seul utilisateur (root). Nous avons les bases de données (voir encadrés rouges) et tableaux (voir encadrés verts) suivants.

copier des données d’une base de données à une autre - données actuelles sur le serveur mysql

Nous voulons copier la table student de la base de données students vers la base de données person en utilisant la requête SQL suivante.

#MySQL Version 8.0.27
CREATE TABLE person.students SELECT * FROM students.student; 

Observez les bases de données et les tables après avoir copié les données (voir la capture d’écran ci-dessous). Vous pouvez voir deux tables dans la base de données person, customers et students.

Vous avez peut-être remarqué que nous voulions copier la table student de la base de données source, alors pourquoi est-elle nommée students dans la base de données de destination ? C’est parce que nous l’avons nommé students dans la requête SQL.

copier des données d’une base de données à une autre - données après copie dans le serveur mysql

Utilisation du serveur MS SQL

Ici, nous avons deux bases de données nommées teachers et person dans notre serveur MS SQL. La base de données person a une table appelée customers, et la base de données enseignants a une table nommée teacher que nous voulons copier dans la base de données person.

Nous copions les données sur un serveur (MS SQL Server) avec un seul utilisateur. Vous pouvez voir les bases de données actuelles (voir les cases rouges) et les tables (voir les cases vertes) dans la capture d’écran ci-dessous.

copier des données d’une base de données à une autre - données actuelles dans le serveur mssql

Nous allons copier une table nommée teacher de la base de données Teachers dans la base de données Person en utilisant la commande suivante.

#MSSQL Server
SELECT * INTO Person..teacher FROM Teachers..teacher;

Vous pouvez voir le tableau copié dans la capture d’écran ci-dessous. Nous avons maintenant deux tables dans la base de données Person.

copier des données d’une base de données à une autre - données après copie dans le serveur mssql

Copier les données du serveur MySQL vers le serveur MS SQL

Avez-vous déjà imaginé si vous deviez copier des données de votre base de données vers la base de données d’un autre utilisateur ? Cela signifie qu’il y a différents utilisateurs impliqués (et parfois différentes machines).

Ici, nous verrons comment copier des données du serveur MySQL vers le serveur MS SQL (notez qu’il y a deux utilisateurs sur le même ordinateur, un pour MySQL et l’autre pour MS SQL Server).

Faites un clic droit sur votre base de données dans MS SQL Server et sélectionnez Tâche -> Importer des données.

copier des données d’une base de données à une autre - sélectionner les données d’importation dans le serveur mssql

Cliquez sur le bouton Suivant dans la capture d’écran suivante.

copier les données d’une base de données à une autre - cliquez sur suivant dans le serveur mssql

Dans la capture d’écran suivante, assurez-vous que la source de données est .Net Framework Data Provider for MySQL, écrivez le nom de la base de données MySQL, le numéro de port et le serveur en tant que students, 3306 et localhost, respectivement. Ensuite, cliquez sur Suivant.

Il est important de noter que vous pouvez avoir des noms de base de données et des adresses IP de serveur différents. Nous utilisons deux serveurs sur la même machine ; c’est pourquoi nous avons utilisé localhost.

copier les données d’une base de données à une autre - sélectionner le serveur de port source dans le serveur mssql

Saisissez le username et le password du serveur MySQL (voir la capture d’écran ci-dessous) et cliquez sur Suivant.

copier des données d’une base de données à une autre - informations de connexion de l’utilisateur

Assurez-vous que la destination est sélectionnée en tant que SQL Server Native Client 11.0, confirmez le nom de votre serveur et le nom de la base de données, puis sélectionnez l’authentification. Nous utilisons l’authentification Windows pour ce tutoriel. Cliquez ensuite sur Suivant.

copier des données d’une base de données à une autre - sélectionner la destination dans le serveur mssql

Cliquez sur Suivant sur l’écran suivant.

copier des données d’une base de données à une autre - écrire la partie a de la requête dans le serveur mssql

Rédigez une requête SQL selon vos besoins ; nous copions tous les enregistrements de la table student à l’aide de la commande suivante. Cliquez sur Suivant.

copier des données d’une base de données à une autre - écrire la partie b de la requête dans le serveur mssql

Écrivez le nom de votre table de destination (le nom qui apparaîtra dans MS SQL Server) et cliquez sur Suivant.

copier des données d’une base de données à une autre - nom de la table de destination dans le serveur mssql

Cliquez sur Suivant sur l’écran ci-dessous.

copier des données d’une base de données à une autre - informations sur le serveur mssql

Dans la capture d’écran suivante, sélectionnez Exécuter immédiatement (voir encadré vert), ou vous pouvez enregistrer le package et exécuter plus tard (voir encadré rouge). Cliquez sur Suivant.

copier des données d’une base de données à une autre - exécuter maintenant dans le serveur mssql

Cliquez sur Terminer sur l’écran suivant.

copier des données d’une base de données à une autre - assistant complet dans le serveur mssql

Ici, l’écran suivant montre que les données ont été copiées. Cliquez sur Fermer.

copier des données d’une base de données à une autre - transfert réussi dans le serveur mssql

Vérifiez votre MS SQL Server pour la table copiée, et vous pouvez voir la case verte dans la capture d’écran suivante.

copier des données d’une base de données à une autre - après avoir copié mysql sur le serveur mssql

Conclusion

Compte tenu de la discussion ci-dessus, nous avons conclu qu’il est important d’apprendre à copier des données d’une base de données à une autre pour diverses raisons, notamment les problèmes de sécurité, la disponibilité et la fiabilité des données, etc. Nous pouvons également fournir l’accès aux données à différents utilisateurs dans le monde.

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook