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 :

Petit souci dans ma base - Déplacement de data


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Growth
    Inscrit en
    Octobre 2023
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Growth
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2023
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Petit souci dans ma base - Déplacement de data
    Bonjour,

    Je suis désolé je ne suis pas trés familier avec le SQL.

    On m'a demandé de traiter un fichier CSV un peu pourri, aprés plusieurs essais j'ai du me résoudre à resortir ce bon vieux phpmyadmin.
    L'import a l'air de marché, mais j'ai des datas qui ne sont pas dans les bonnes tables. Malheureusement c'est le fichier qui est comme çà je ne sais pas pourquoi.
    je me retrouve donc avec çà

    Nom : image_2023-10-27_133642009.png
Affichages : 104
Taille : 21,5 Ko

    La france se retrouve dans region, et il n'y avait rien dans Country. J'ai réussi à copier la data de région vers country (en espérant que je le fasse correctement bien entendu) et la j'aimerais supprimer la data France dans la table Région.
    Je sais pas c'est peut etre super simple pour vous, la je vous avoue que je bloque un peu. Si quelqu'un à une piste je suis preneur.
    Mais voilà je me retrouve à devoir "déplacer" des données d'une table à une autre. Donc je dois rechercher la mauvaise data dans la table et la déplacer vers la bonne table.
    Je ne sais pas si c'est clair, Merci de votre aide.
    J'ai créer une table "temp" car parfois les données doivent etre "décalé" un peu, je vous avouerais que je sais pas par quel bout prendre tout çà ahaha.
    Merci

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Si je comprends bien la capture d'écran, la donnée n'est non pas dans la mauvaise table, mais dans la mauvaise colonne.
    Si c'est bien le cas, un simple update fera l'affaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Update MaTable 
    set region = '' 
    where Upper(region) = 'FRANCE'
    L'appel à Upper() permet de ne pas se poser de question concernant les majuscules.

    Tatayo.

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 910
    Points
    38 910
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Pour qu'on puisse vous aider, merci de communiquer les éléments suivants
    • sgbd utilisé
    • structure des tables (idéalement le script contenant les ordre CREATE TABLE)
    • extrait du contenu de chacune des tables (quelques lignes suffisent)

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 910
    Points
    38 910
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par tatayo Voir le message
    Bonjour,
    Si je comprends bien la capture d'écran, la donnée n'est non pas dans la mauvaise table, mais dans la mauvaise colonne.
    Si c'est bien le cas, un simple update fera l'affaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Update MaTable 
    set region = '' 
    where Upper(region) = 'FRANCE'
    L'appel à Upper() permet de ne pas se poser de question concernant les majuscules.

    Tatayo.
    La capture d'écran représente un fichier CSV

    Et plutôt que d'utiliser une conversion en majuscules qui rend le prédicat non SArgAble (pas d'index utilisable), il est préférable d'utiliser la clause COLLATE avec une collation insensible à la casse.
    Si la table à mettre à jour est volumineuse, les performances seront meilleures

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    La capture d'écran ne vient pas de PhpMyAdmin ? Pour moi c'est un extrait du contenu de la table.
    Dans la demande il est fait question d'une table temporaire, et de fichier d'import, donc je suis parti du principe qu'il n'y a pas des millions de lignes… peut-être à tord.

    Bref beaucoup d'hypothèse, j'en conviens.

    Mais je garde sous le coude la clause COLLATE, que je ne connaissais pas .

    Tatayo.

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Growth
    Inscrit en
    Octobre 2023
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Growth
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2023
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par tatayo Voir le message
    Bonjour,
    Si je comprends bien la capture d'écran, la donnée n'est non pas dans la mauvaise table, mais dans la mauvaise colonne.
    Si c'est bien le cas, un simple update fera l'affaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Update MaTable 
    set region = '' 
    where Upper(region) = 'FRANCE'
    L'appel à Upper() permet de ne pas se poser de question concernant les majuscules.

    Tatayo.
    Merci beaucoup pour ta réponse super sonic, je vais essayer tout de suite

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Growth
    Inscrit en
    Octobre 2023
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Growth
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2023
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    Bonjour,

    Pour qu'on puisse vous aider, merci de communiquer les éléments suivants
    • sgbd utilisé
    • structure des tables (idéalement le script contenant les ordre CREATE TABLE)
    • extrait du contenu de chacune des tables (quelques lignes suffisent)
    Bonjour,
    Merci pour ta réponse,
    Je suis sous MYSQL
    escusez moi d'avoir confondu je suis vraiment pas à l'aise avec les termes.
    La base pour le moment fait moins de 10 entrées mais j'ai des fichiers qui ont plusieurs milliers de lignes
    Images attachées Images attachées  

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Growth
    Inscrit en
    Octobre 2023
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Growth
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2023
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    La capture d'écran représente un fichier CSV

    Et plutôt que d'utiliser une conversion en majuscules qui rend le prédicat non SArgAble (pas d'index utilisable), il est préférable d'utiliser la clause COLLATE avec une collation insensible à la casse.
    Si la table à mettre à jour est volumineuse, les performances seront meilleures
    Merci beaucoup, je n'avais jamais entendu parler de cette commande COLLATE, je vais l'essayer également.

    Pour le fichier c'etait bien un imprim écran du php my admin.
    Mon fichier csv c'est juste de la data avec des ","

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Growth
    Inscrit en
    Octobre 2023
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Growth
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2023
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par tatayo Voir le message
    La capture d'écran ne vient pas de PhpMyAdmin ? Pour moi c'est un extrait du contenu de la table.
    Dans la demande il est fait question d'une table temporaire, et de fichier d'import, donc je suis parti du principe qu'il n'y a pas des millions de lignes… peut-être à tord.

    Bref beaucoup d'hypothèse, j'en conviens.

    Mais je garde sous le coude la clause COLLATE, que je ne connaissais pas .

    Tatayo.
    Oui effectivement c'est bien de phpmyadmin.

    escusez moi encore si je n'ai pas assez était claire

Discussions similaires

  1. Petit soucis dans mon programme/compilation
    Par alessandro67 dans le forum C
    Réponses: 10
    Dernier message: 23/02/2009, 17h19
  2. un petit souci dans mon script !
    Par kerberos dans le forum VBScript
    Réponses: 1
    Dernier message: 25/06/2008, 15h42
  3. Faire une petite manip dans ma base de donnée phpBB
    Par maxmarie dans le forum Langage SQL
    Réponses: 2
    Dernier message: 22/01/2008, 09h20
  4. petit soucis dans le main..
    Par Bibouda dans le forum C
    Réponses: 35
    Dernier message: 12/12/2005, 18h45

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