IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 MySQL Discussion :

Sauvegarder une base de données en 1 requête SQL


Sujet :

MySQL

  1. #1
    Membre éclairé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Par défaut Sauvegarder une base de données en 1 requête SQL
    Bonjour,

    Est-il possible de récupérer ou afficher le contenu entier d'une base de données sous une simple requête SQL?

    Merci!

  2. #2
    Membre Expert
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953

  3. #3
    Membre éclairé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Par défaut
    Oui d'accord en faisant un dump, mais n'est-il pas possible de soit faire une sauvegarde complète en une requête SQL, ou faire un affichage complet de la table structure et/ou contenu en une requête SQL?

  4. #4
    Membre Expert
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Par défaut
    Ça va pas mal dépendre de l'objectif. Si c'est vraiment un backup complet façon mysqldump, mais en interne, il faudra attendre la 6.0.

    Après il y a "SHOW CREATE TABLE" et "SELECT *" (pour afficher) ou "SELECT [...] INTO OUTFILE [...]" (pour sortir dans un fichier). Mais c'est table par table.

    Tout en une fois... je ne sais pas si "INTO OUTFILE" est admis dans une procédure stockée. Sinon il y a toujours moyen d'écrire le SELECT ultime (et ultimement moche ), mais ça va mélanger tout et n'importe quoi et je doute que ce soit l'objectif.

  5. #5
    Membre éclairé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Par défaut
    L'objectif était d'automatiser un backup mysql sans devoir passer par autre chose qu'une (ou plusieurs éventuellement) requêtes SQL.

    Je vais cependant tester les alternatives proposées, et si ça ne convient pas, alors on devra faire un "vrai" dump comme indiqué précédement.

    Merci

  6. #6
    Membre Expert
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Par défaut
    Il y a moyen d'expérimenter (procédure stockée + scheduler ?), mais en attendant la version 6.0, le mieux reste à mon avis l'utilisation de mysqldump + cron (ou planificateur d'évènements).

    Après, il y a toujours moyen de singer mysqldump (qui passe lui même par tout un tas de requêtes), mais c'est se compliquer la vie (et un coups à oublier de poser des verrous, démarrer une transaction, etc.).

    Bonne chance.

  7. #7
    Membre éclairé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Par défaut
    Merci

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 992
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 992
    Billets dans le blog
    6
    Par défaut
    C'est tout à fait possible en une seule requête SQL normative si votre SGBDR supporte le UNION JOIN et que vous avez un serveur csotaud et un peu de patience.
    Le principe est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT *
    FROM   TABLE1
           UNION JOIN TABLE2
           UNION JOIN TABLE3
           UNION JOIN TABLE4
    ...
           UNION JOIN TABLEn
    Lisez l'article que j'ai écrit à ce sujet : http://sqlpro.developpez.com/cours/s...ntures/#LIII-F

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  9. #9
    Membre éclairé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Par défaut
    Merci pour le tuyau, je vais lire ça avec grand intérêt !!!

Discussions similaires

  1. Sauvegarder une base de données en temps réel
    Par jalam dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 05/10/2009, 11h48
  2. Sauvegarder une Base de données Oracle 8
    Par benjamin50 dans le forum Administration
    Réponses: 7
    Dernier message: 16/06/2009, 11h36
  3. Sauvegarder une base de donnée mysql
    Par koKoTis dans le forum VBScript
    Réponses: 6
    Dernier message: 25/01/2008, 20h30
  4. Sauvegarder une base de données MySQL en ligne
    Par koKoTis dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 28/11/2007, 07h24
  5. sauvegarder une base de donnée access
    Par simo333 dans le forum VBA Access
    Réponses: 7
    Dernier message: 15/10/2007, 10h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo