FAQ MySQLConsultez toutes les FAQ
Nombre d'auteurs : 15, nombre de questions : 155, dernière mise à jour : 22 avril 2014 Ajouter une question
Cette FAQ a été conçue à partir des questions fréquemment posées sur le forum MySQL de Developpez.com. Elle ne prétend pas à être exhaustive et peut contenir des erreurs occasionnelles. Si vous relevez une coquille, n'hésitez pas à nous le faire savoir.
Pour participer à cette FAQ, veuillez envoyer vos réponses sur le forum.
- Comment réaliser une migration d'un SGBD X vers MySQL ?
- Comment réaliser une migration de MySQL vers un SGBD X ?
- Comment importer un fichier de données ou des données depuis un tableur ?
- Comment exporter vers un fichier de données ?
- Comment exécuter un fichier d'instructions SQL ?
- Comment copier le contenu d'une base vers une autre ?
- Comment copier le contenu d'une table vers une autre ?
Plusieurs solutions sont possibles :
- Créer uniquement la structure des tables MySQL, exporter les données de l'autre SGBD dans un fichier texte au format CSV ou autre, puis les importer dans MySQL.
- Des outils comme MySQL Front permettent aussi un import direct des tables et enregistrements à partir d'une source de données ODBC. Certains SGBD proposent aussi un export wizard de leurs données vers une base cible.
- MySQL AB propose un Migration Toolkit (sous licence GPL) pour une migration depuis Access, SQL Server ou Oracle.
- Il existe des softs commerciaux dédiés à la migration vers MySQL : les *-to-MySQL de Intelligent Converters, SQL Porter, Navicat, etc.
De la même manière que le point précédent, en exportant les données et en les réimportant dans la base cible.
On peut également utiliser le connecteur ODBC pour MySQL MyODBC ainsi que les produits payants déjà cités.
Le fichier de données à importer doit être structuré avec des caractères séparateurs de champs et de lignes. La plupart des tableurs permettent de générer de tels fichiers (format CSV : séparateur point-virgule par exemple).
L'importation se fait automatiquement grâce à l'instruction SQL
Code sql : | Sélectionner tout |
LOAD DATA [LOCAL] INFILE 'nom_fichier' INTO TABLE nom_table
L'utilitaire en ligne de commande mysqlimport remplit la même fonction.
Certains clients graphiques comme PHPMyAdmin et MySQLFront proposent également une fonction d'importation de fichiers de données.
- Avec la commande SELECT ... INTO OUTFILE en précisant les caractères séparateurs de champs et de lignes (fichier stocké sur le serveur uniquement).
- Grâce à l'utilitaire mysqldump.
- En redirigeant le résultat d'une requête vers un fichier en local :
Code sql : | Sélectionner tout |
> mysql -e "SELECT ..." > chemin_fichier
- En indiquant au client mysql de lire les commandes dans le fichier :
Code sql : | Sélectionner tout |
> mysql nom_base < nom_fichier
- En utilisant l'instruction SQL « SOURCE nom_fichier »
- Sur le même serveur :
Code sql : | Sélectionner tout |
INSERT INTO base_destination.nom_table SELECT ... FROM base_source.nom_table
- Avec des serveurs distants : on fait un mysqldump du serveur source puis on exécute le fichier résultant sur le serveur de destination.
Sous UNIX, on peut en une commande faire exécuter les instructions SQL issues du mysqldump par un client connecté au serveur cible :
Code bash : | Sélectionner tout |
shell> mysqldump --opt nom_base | mysql --host=hote_cible -C nom_base
- Avec des tables MyISAM, en faisant un copier-coller du répertoire de données de la base (dossier data\nom_base sous Windows, souvent var\lib\mysql\nom_base sous Linux) vers le répertoire de données du serveur cible.
Grâce à la commande
Code sql : | Sélectionner tout |
INSERT INTO table_destination SELECT ... FROM table_source
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.