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

Requêtes MySQL Discussion :

Vider une base


Sujet :

Requêtes MySQL

  1. #1
    Membre habitué Avatar de arcane
    Inscrit en
    Avril 2003
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 311
    Points : 178
    Points
    178
    Par défaut Vider une base
    Bonjour,

    je pensais trouver la reponse quelque part, mais ce n'est pas le cas.
    Je voudrais supprimer toutes les tables d'une base.
    J'ai regardé dans les tutos, dans un bouquin, mais je n'ai pas trouvé la reponse.
    Il y a qqn qui l'a fait, http://www.developpez.net/forums/vie...pprimer+tables
    mais c'est avec une mauvaise commande.

    Qqn a une idée?

  2. #2
    Membre habitué Avatar de arcane
    Inscrit en
    Avril 2003
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 311
    Points : 178
    Points
    178
    Par défaut
    Précision : je ne dispose pas de phpmyadmin.

  3. #3
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 109
    Points : 111
    Points
    111
    Par défaut
    Personnellement, le marche trés bien chez moi....

  4. #4
    Membre habitué Avatar de arcane
    Inscrit en
    Avril 2003
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 311
    Points : 178
    Points
    178
    Par défaut
    Ben oui, mais ca supprime aussi la base.
    Et derriere, je ne peux pas la recreer moi meme.

    Donc, ce n'est pas la solution.

  5. #5
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 109
    Points : 111
    Points
    111
    Par défaut
    tu peux utiliser DROP TABLE si tu veux juste supprimer les tables ou encore DELETE FROM TABLE si tu veux vider la table sans la supprimer...

  6. #6
    Membre habitué Avatar de arcane
    Inscrit en
    Avril 2003
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 311
    Points : 178
    Points
    178
    Par défaut
    Et si j'ai 50 tables, je fais un drop table pour les 50?
    c'est un peu fastidieux.
    Dois je en conclure qu'il n'y a pas de commandes pour vider une base???

  7. #7
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 109
    Points : 111
    Points
    111
    Par défaut
    tu peux faire un drop database puis refaire tes create table derrière...

    pourquoi veux tu faire ça au juste ?

  8. #8
    Invité
    Invité(e)
    Par défaut
    Tu tuilise "truncate table" c'est la méthode la plus rapide.
    Tu as quelle version de mysql?

  9. #9
    Membre habitué Avatar de arcane
    Inscrit en
    Avril 2003
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 311
    Points : 178
    Points
    178
    Par défaut
    Version : 3.22.32

    En fait, j'aimerais faire cela car je n'ai pas tous les droits suffisants pour la recréer derriere,
    et que je modifie assez souvent la structure de la base, donc de temps en temps, je relance le tout avec un script.

    en ce qui concerne drop database, comme j'ai dit plus haut, je ne peux pas le faire, car la base est détruite.

  10. #10
    Invité
    Invité(e)
    Par défaut
    Alors tu pourrais faire un script qui parcours toutes les tables et fasse un "delete from".

  11. #11
    Membre habitué Avatar de arcane
    Inscrit en
    Avril 2003
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 311
    Points : 178
    Points
    178
    Par défaut
    Finalement, c'est ce que j'ai fait hier soir!
    Mais je trouve bizarre qu'il n'y ait pas de commandes.
    C'est peut etre pour eviter des gaffes.

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    pour chaque table il faut faire:

    TRUNCATE `table` ;

    voilà.

  13. #13
    Nouveau Candidat au Club
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Voici un script qui supprime toutes les tables de la base


    #!/bin/bash


    database=nom_de_la_base
    host=127.0.0.1
    user=nom_utilisateur
    password=mot_de_passe


    strQuery="SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_schema=\"$database\";"

    listOfTableToDrop=`echo $strQuery | mysql -s --host=$host --user=$user --password=$password`

    for currentTable in $listOfTableToDrop

    do
    strCurrentQuery="DROP TABLE $currentTable;"
    echo $strCurrentQuery | mysql -s --host=$host --user=$user --password=$password --database=$database
    done

  14. #14
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Même si la conversation est marquée comme terminée, je me permets de donner une solution plus simple basée sur mysqldump:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mysqldump -u username -puserpwd --add-drop-database --add-drop-table --no-data DBName > dumpfile.sql
    mysql -u username -puserpwd DBName < dumpfile.sql
    J'espère que ca aidera quelqu'un

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. 'Vider' une base
    Par ElBarto38 dans le forum Sql Developer
    Réponses: 3
    Dernier message: 23/06/2011, 15h20
  2. Vider une base ldap
    Par Abdelmonam Kouka dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 13/01/2010, 12h08
  3. vider une base
    Par looping dans le forum Bases de données
    Réponses: 4
    Dernier message: 04/06/2007, 11h39
  4. [BD vierge] Vider une base de données
    Par Pedro dans le forum Bases de données
    Réponses: 4
    Dernier message: 16/06/2004, 14h40
  5. comment vider une base de donnée
    Par caps_corp dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 21/04/2004, 16h54

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