Michael Schröpl: MYSQL - suchen ?

Beitrag lesen

ich möchte etas in einer DB finden -> also die gesamte DB nach etwas durchsuchen,

Und was möchtest Du mit dem Ergebnis anfangen? Von welchem Datentyp soll das Ergebnis sein? SQL kann nicht "suchen", sondern nur SQL-Befehle ausführen.

Du denkst nach dem Konzept einer Suchmaschine. Dafür bräuchtest Du aber zwei Bausteine:
a) eine Suchanweisung (select ...) und
b) *ein* Objekt, in dem man suchen kann.
Das Forum-Archiv funktioniert sehr ähnlich wie Deine Datenbank. Hier ist dieses Objekt die (vom Schwanzabschneider aufgebaute) Indexdatei. Diese enthält den Text aller Postings, zusätzlich aber auch Informationen darüber, woher dieser Text stammt (Name der Posting-Datei, Target innerhalb der Datei usw.).

Wenn Du eine komplette SQL-Datenbank durchsuchen wollen würdest, dann müßtest Du Dir einen solchen Indexer schreiben. Dieser würde Tabelle für Tabelle und Spalte für Spalte vorgehen und jeweils in seine Index-Tabelle eintragen: (Tabellenname, Spaltenname, Inhalt).

Nachdem Du diese Tabelle aufgebaut hast, kannst Du in ihr (!) suchen:
SELECT Tabellenname, Spaltenname from Indextabelle where Inhalt like <suchbegriff> ;

und das like eben deswegen da er auch ähnliche sachen anzeigen soll...

Hm, "ähnliche" ist hier ein schwammiger Begriff. Meines Wissens kann LIKE nur relativ primitive wildcards (eben '%'). Unter "ähnliche" würde ich mir etwas sehr viel Komfortableres vorstellen (Stichwort: Hamming-Abstand).