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

Langage SQL Discussion :

Comment utiliser drop ?


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Janvier 2024
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Janvier 2024
    Messages : 220
    Par défaut Comment utiliser drop ?
    bonjour
    En liaison avec un problème qui viens de m'arriver, je voudrais supprimer l'index de ma table et le faire refaire entièrement.
    D4abord question sauvegarde est-ce que "exporter" sauve aussi l'index ou juste les ligne de la table ?

    Je lis que drop supprime l'index via "drop nom_de_l'index" sauf que j'ai peur de ne pas savoir quel est le nom de l'index et de confondre avec le nom de la table.
    Comment puis-je savoir exactement le nom de l'index ? J'ai une table qui s'appelle "groupe_index" je travaille avec phpmyadmin et je n'y connais pas grand chose.
    Où se trouve le nom de l'index ?

    Est-ce que ça détruit vraiment tout l'index ? ou bien est-ce que le fichier reste quelque part ? Je veux qu'il n'en reste rien !
    Et pour le refaire ?

    Merci

  2. #2
    Membre éprouvé Avatar de kick54
    Homme Profil pro
    Admin systèmes (Windows, Linux) et réseaux - Dev DB &Java IHM calcul scientifique
    Inscrit en
    Mai 2016
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Admin systèmes (Windows, Linux) et réseaux - Dev DB &Java IHM calcul scientifique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 120
    Par défaut
    Bonjour,
    En ligne de commande, la syntaxe pour supprimer un index est Généralement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DROP INDEX <nom de l index> ;
    Donc pas de risque de supprimer une table
    ...

  3. #3
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 575
    Par défaut
    Bonjour,
    Citation Envoyé par noradan Voir le message
    bonjour
    D'abord question sauvegarde est-ce que "exporter" sauve aussi l'index ou juste les ligne de la table ?
    Ça dépend le la façon dont tu fais ton export. Une sauvegarde de la base "prend" tout le contenu de la base. Sinon la restauration serait un peu compliquée.
    Citation Envoyé par noradan Voir le message
    bonjour
    Je lis que drop supprime l'index via "drop nom_de_l'index" sauf que j'ai peur de ne pas savoir quel est le nom de l'index et de confondre avec le nom de la table.
    Drop nécessite de spécifier le type d'objet à supprimer. Donc le risque d'erreur est plutôt faible.
    Citation Envoyé par noradan Voir le message
    Comment puis-je savoir exactement le nom de l'index ? J'ai une table qui s'appelle "groupe_index" je travaille avec phpmyadmin et je n'y connais pas grand chose.
    Où se trouve le nom de l'index ?
    Quel est l'outil utilisé ?
    Citation Envoyé par noradan Voir le message
    Est-ce que ça détruit vraiment tout l'index ? ou bien est-ce que le fichier reste quelque part ? Je veux qu'il n'en reste rien !
    L'index est totalement supprimé, il n'en reste aucune trace.
    Citation Envoyé par noradan Voir le message
    Et pour le refaire ?
    Create Index. Mais si tu ne sais pas recréer un index, je pense que tu mets la charrue avant les bœufs.

    Mais un truc me chiffonne ici: tu ne sais pas supprimer ni recréer un index. Donc pourquoi veux tu le faire ?
    Quel est exactement le problème ?
    Qu'est-ce qui te dit que cet index en est l'origine ?

    Tatayo.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 042
    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 : 22 042
    Billets dans le blog
    6
    Par défaut
    Vous n'indiquez pas le SGBDR utilisé... Est-ce Oracle Database, IBM DB2, Microsoft SQL Server, PostGreSQL, MySQL, MariaDB ???

    La syntaxe des commandes des objets physiques tel que les index est propre à chaque SGBDR...

    Cela dit, la suppression d'un index se fait généralement avec la commande pseudo SQL DROP INDEX. Donc aucun risque de supprimer la table, qui ne peut être supprimée qu'avec un DROP TABLE.
    Un index étant une recopie de certaines données de la table, il est strictement inutile de tenter (voir impossible) d'extraire les données de ce dernier pour les réintégrer lors de la création de l'index.

    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/ * * * * *

  5. #5
    Membre éprouvé Avatar de kick54
    Homme Profil pro
    Admin systèmes (Windows, Linux) et réseaux - Dev DB &Java IHM calcul scientifique
    Inscrit en
    Mai 2016
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Admin systèmes (Windows, Linux) et réseaux - Dev DB &Java IHM calcul scientifique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 120
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Vous n'indiquez pas le SGBDR utilisé... Est-ce Oracle Database, IBM DB2, Microsoft SQL Server, PostGreSQL, MySQL, MariaDB ???
    ...

    A +
    Bonjour,
    J'ai failli posé la même question ;-)
    Il utilise phpmyadmin donc SGDB mysql ou Mariadb
    A++

  6. #6
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Janvier 2024
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Janvier 2024
    Messages : 220
    Par défaut
    quand j'ouvre phpmyadmin il est écrit mysql

    donc je pense que la réponse est "mysql"

    Le problème est très bizarre!
    Je l'avais rencontré en juin dernier quand j'ai commencé à regarder le sql
    j'avais créée une table pour voir, et quand je lancais un select la réponse était vide alors que bien entendu il y avait de quoi répondre.
    J'ai tourné en rond pendant quelques jours, posé des questions dans divers fora (ici aussi) sans réponse.

    Et puis j'ai eu l'illumination : ma table avait 5 lignes dont 3 comportant le mot "airbag" sur lequel je faisais ma requête. 3/5=60% le mot était viré de l'index !!!
    Ca m'est venu comme ça en baladant mon chien ! J'ai rajouté 3 lignes sans ce mot pour faire baisser le taux et ... miracle la requête a fonctionné.

    Il m'arrive la même chose en fait. j'ai posé un post à ce sujet (si ça se confirme je le supprimerais). Je lance une requête avec little ou neo et je n'ai pas de réponse alors que évidemment il y a des lignes qui comporte ces mots.
    Et après quelques tâtonnement (remplacer neo par toto ou mettre neo dans une autre ligne) je me suis souvenu du truc. D'où mon envie d'écraser l'index et de le faire refaire. Bien sûr en principe ceci et en théorie cela mais c'est ainsi !
    Je ne sais pas du tout ce qui s'est passé. car en fait les lignes sont "neo prophet" et "little tragedy" et si je lance la requête sur "tragedy" ou 'prophet" tout va bien. J'ignore pourquoi mais plein de lignes parasites se sont écrites avec ces mots mais normalement aucun mot de la paire n'aurait dû fonctionner mais il n'y a que neo et little qui cafouillent. La table étant encore petite (25 lignes) je me dis que le même problème s'est peut-être reproduit.

    voili-voilou

    Pour ce qui est de la création j'ai simplement coché la case "créer un index" sur telle colonne dans phpmyadmin quand j'ai créer la table. Je n'ai pas fait ça en code.
    Ca marche peut-être dans une table déjà existante.

  7. #7
    Membre éprouvé Avatar de kick54
    Homme Profil pro
    Admin systèmes (Windows, Linux) et réseaux - Dev DB &Java IHM calcul scientifique
    Inscrit en
    Mai 2016
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Admin systèmes (Windows, Linux) et réseaux - Dev DB &Java IHM calcul scientifique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 120
    Par défaut
    Citation Envoyé par noradan Voir le message
    ...
    Pour ce qui est de la création j'ai simplement coché la case "créer un index" sur telle colonne dans phpmyadmin quand j'ai créer la table. Je n'ai pas fait ça en code.
    Ca marche peut-être dans une table déjà existante.
    Oui, ça marche puisque qu'un index n'a d'existence et de sens que sur une table ... eh eh :-)

Discussions similaires

  1. [Dojo] Comment utiliser les events du drag and drop de dojo
    Par Invité dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 03/07/2012, 23h55
  2. Réponses: 4
    Dernier message: 24/02/2009, 12h06
  3. comment utiliser actionscript ?
    Par webs dans le forum Flash
    Réponses: 3
    Dernier message: 09/02/2003, 23h11
  4. Comment utiliser OUT ?
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 3
    Dernier message: 20/07/2002, 09h35
  5. Réponses: 5
    Dernier message: 11/06/2002, 15h21

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