Hallo, ich habe eine DB wo der Beschreibungstext im Binary-Format abgelegt wird. Wie kann ich in PHPMyAdmin diese Tabelle exportieren und anstatt des [BLOB] Objekt den codierten Inhalt anzeigen. D.h. ich mache eine Abfrage für die gewünschte Tabelle und beim „Beschreibungstext“ will ich nicht den „BLOB“ sondern den reellen Inhalt anzeigen.
Muss ich da „Convert“ einsetzen?
Ziel ist es dann diese Abfrage als *.CSV zu exportieren wo alle Felder im Klartext dargestellt sind.
Die allererste Frage ist wohl eher, was da wirklich in dem BLOB-Feld gespeichert ist. Weil… „Text“ ist nicht wirklich aussagekräftig. Ist es ASCII? ANSII? Unicode? UTF8? Je nachdem muß der Wert ggf. umcodiert werden.
Generell stellt sich die Frage, was ein BLOB eigentlich für Daten beinhaltet. Eigentlich ist das dafür gedacht, irgendwelche binären Daten wie z.B. Bilder zu beinhalten, mit denen die Datenbank selbst nichts anfangen kann. Da fragt man sich, ob es überhaupt Sinn macht, die Daten in irgendeiner Textform anzuzeigen, das ist dann meistens eh immer nur Buchstabensalat.
So scheint auch MyPhpAdmin zu denken, man muß die Anzeige von BLOB-werten erstmal aktivieren:
Ob dann rauskommt, was du dir wünschst, mußt du erstmal sehen.
(Und auch von mir: Warum speichert man Text in einem BLOB? Damit nimmt man sich viele Möglichkeiten, die eine DB bietet, und bekommt dafür so Probleme wie du jetzt)
Nein, was ist das für ein interessanter Datentyp? Du meinst wohl den Datentyp „text“, mit dem habe ich mich in der Tat nicht weiter befasst, weil für meine Datenbanken „varchar“ vollkommen ausreicht (und ich auch keine BLOBs habe). Aber nichtsdestotrotz ist das Ausgangsproblem, dass die Daten als BLOB gespeichert sind. Er kann beim nächsten Mal „text“ nehmen, aber die Frage stellt sich jetzt gerade nicht.
Man kann ohne Weiteres die SPalte als BLOB definieren und dann dort einfach Text reinspeichern. Dann zeigt das nur phpmyadmin nicht an, das ist aber die Schuld des Tools und nicht der Datenbank. Wenn ich in eine BLOB-Spalte Text reinspeichere, dann kriege ich den auch einfach wieder raus, ohne Convert.
Verstehe. Du musst auch nicht wissen, was ein Index ist, weil DEINE Datenbanken ohne Indexe vollkommen ausreichen. Gut, dass wir das jetzt wissen.
Eher deswegen, weil text ein Konstrukt ist, dass - wieder einmal - nur in wenigen DBMS vorkommt, im Gegenteil zu varchar oder eben blob, die im SQL-Standard definiert und somit Datenbankübergreifend sind.
Frag bei Oracle nach, wie es denen mit dem Datentyp long ergangen ist.
@Christa hält ihre Datenbank eben im SQL-Standard (zu denen übrigens auch Indizes gehören, nicht Indexes)
Das man einen Text in ein blob speichern kann, ist ja gar nicht das Problem, das können alle möglichen Tools, es geht hier um das Auslesen des „Binary Large OBjects“ - der Name sagt es ja schon aus: „Binary“ - das kann ein Text, ein Bild, ein Dokument, ein irgendwas sein, deswegen gibt es die Konvertierungsfunktionen, wie z.b. in einen Text-Typ wie varchar - und damit meine ich nicht den exotischen Datentyp text.
Ja. Es geht hier um MySQL, wie die Ursprungsfrage sagt.
Und das weißt du woher? Das ist genauso eine Unterstellung, wie das, was ich vorhin gemacht habe.
Ich schrieb Indexe, so wie der Duden die Mehrzahl von Index nennt. Bin ich jetzt hier im Kindergarten?
Es ging in der Ursprungsfrage darum, dass jemand Text in eine BLOB-Spalte gespeichert hat, nicht Binärdaten. Hast du die Ursprungsfrage auch gelesen?
Es wäre wirklich super gewesen, wenn du mal den kompletten Artikelstrang gelesen hättest. Mein Vorschlag war nicht: nimm Datentyp Text. Meine Gegenargument zu Christas Aussage war, dass es im konkreten Fall durchaus Datentypen gibt, die die gleiche Datenmenge wie BLOBs aufnehmen kann.
Kannst du auch etwas anderes außer Polemik? So, richtig fachlich HELFEN, und nicht nur schwadronieren?
Nein, nur kurzsichtig.
Die einzige Bedeutung, bei der Indexe die Pluralform von Index ist, ist „Liste von Büchern, die nach päpstlichem Entscheid von den Gläubigen nicht gelesen werden dürfen“.
Ich dachte, wir sind im Bereich Datenbanken und nicht in der Kirche.
Nur weil ein paar Datenbanken das können, macht ihn nicht zum SQL-Standard-Datentyp.
Bitte schön, zum Nachlesen:
Du kennst den Unterschied zwischen „kennen“ und „sich mit etwas befassen“.
Nochmal, dein Geblubber geht völlig an Thomas’ Problemstellung vorbei.
@ThomasW_830e8c: dass du eine Frage stellst und dann offensichtlich kein Interesse an den Antworten hast, ist jetzt nur so mittelprächtig. @Tomh hat dir eine Rückfrage gestellt, ich habe auch an der gleichen Stelle nachgehakt, aber von dir kommt … NICHTS.
Du hast es mit Lesen auch nicht so? Die erste Antwort hier kam von mir und war konkrete Hilfe. Den ganzen Diskussionskram hast du angefangen mit deinen unnützen Einwürfen.
Und ich auch. Nur mal so. Aber ich habs verstanden. Ich bin hier in den Club der Experten reingeraten. Und es darf keinen anderen geben, neben euch. Sinnlos.