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 :

Supprimer du texte dans la base de données


Sujet :

Langage SQL

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 174
    Par défaut Supprimer du texte dans la base de données
    Bonjour,

    Mon site à eu un problème et je dois nettoyer ma BDD et je ne sais pas si c'est possible.
    J'ai dans ma table content un script sur tous mes articles que je voudrais supprimer automatiquement.
    Nom : capture.png
Affichages : 131
Taille : 56,7 Ko

    Y a t'il une commande SQL qui pourrait supprimer tout ce qui se trouve entre les balises <script> </script> (y compris les balises).

    Merci d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    916
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 916
    Par défaut
    Bonjour,

    En langage SQL pur, il n'y a que peu de fonctions.
    Les fonctions de manipulation de chaine et autres expressions régulières sont fortement dépendantes du moteur.
    Peux tu nous dire sous quel moteur de base de données tu es ? (Mysql 8.0, PostgreSQL 17, Oracle 19, SQL serveur 2014, DB2 ...)

    Ainsi que le type de colonne déclaré dans la table et le formalisme du script (XML, Json, Html, ...)
    Le savoir est une nourriture qui exige des efforts.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 963
    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 963
    Billets dans le blog
    6
    Par défaut
    Sur Microsoft SQL Server :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT LEFT(COLONNE, CHARINDEX('<script>', @COLONNE) - 1) + 
           RIGHT(COLONNE, CHARINDEX(REVERSE('</script>'), REVERSE(@COLONNE)) - 1)
    FROM ...
    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/ * * * * *

  4. #4
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 963
    Par défaut
    À ta place je n'utiliserais pas le SQL, mais je passerais par un langage de script muni d'un parser html.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  5. #5
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    916
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 916
    Par défaut
    Citation Envoyé par CosmoKnacki Voir le message
    À ta place je n'utiliserais pas le SQL, mais je passerais par un langage de script muni d'un parser html.
    En l'occurrence, il est fort probable que ce soit une mauvaise idée :
    • La logique de traitement est simple, l'utilisation d'un parser semble surdimensionné
    • C'est un traitement de masse ; externaliser toutes les lignes -dont le volume unitaire peut être conséquent- pour renvoyer ces mêmes lignes de là où elles viennent, est un mouvement qui coute cher inutilement


    A noter que le "quick and dirty" est un algo qui fonctionne et qu'on rencontre souvent.
    Le savoir est une nourriture qui exige des efforts.

  6. #6
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 963
    Par défaut
    Citation Envoyé par Michel.Priori Voir le message
    La logique de traitement est simple, l'utilisation d'un parser semble surdimensionné
    Alors oui, après tout la tâche semble simple telle qu'elle est décrite, mais moi quand je vois ça, je trouve que c'est plutôt scabreux (entre ce qui est présenté et la réalité des choses des fois...). Imagine que dans son contenu il y ait plusieurs scripts, avec une approche naïve, c'est à dire en supposant qu'il n'y ait qu'un seul script ou sans vérifier quelle est la bonne cible, on va droit à la catastrophe.
    Exemple classique: un script comme google analytics ou piwik qui est présent sur toutes les pages. (tout le contenu entre la cible et le script analytics serait alors effacé).

    C'est un traitement de masse ; externaliser toutes les lignes -dont le volume unitaire peut être conséquent- pour renvoyer ces mêmes lignes de là où elles viennent, est un mouvement qui coûte cher inutilement
    Bien sûr, l'allez-retour va coûter cher, et le parsing probablement encore plus, mais là on parle des articles d'un CMS, même s'il en a pondu beaucoup, il n'y en aura pas une myriade. Et ça reste un one-shot.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

Discussions similaires

  1. [Conception] inertion d'un fichier dans une base de donne
    Par laminebarasow dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/07/2006, 00h13
  2. Réponses: 6
    Dernier message: 30/05/2006, 12h41
  3. PHP5: charger des fichiers textes dans une base MYSQL
    Par koueletbak dans le forum Requêtes
    Réponses: 4
    Dernier message: 23/03/2006, 12h14
  4. [MySQL] supprimer des données dans la base
    Par Commodore dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 07/02/2006, 03h43
  5. [c#] [dataadapter] effacer des ranger dans une base de donne
    Par mahboub dans le forum Accès aux données
    Réponses: 4
    Dernier message: 02/12/2005, 02h26

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