Suchen und Ersetzen in Mysql Datenbank
Suchen und Ersetzen in Mysql Datenbank
Hallo,
vielleicht etwas ot, aber: Kann man über eine Mysql Datenbank soetwas wie eine Suchen und Ersetzen Funktion laufen lassen ? Und wenn ja wie?
Beispiel: Durchsuche alle Tabellen einer Datenbank nach dem Zeichenfolgenausdruck "heute" und ersetze ihn durch "morgen"
vielleicht etwas ot, aber: Kann man über eine Mysql Datenbank soetwas wie eine Suchen und Ersetzen Funktion laufen lassen ? Und wenn ja wie?
Beispiel: Durchsuche alle Tabellen einer Datenbank nach dem Zeichenfolgenausdruck "heute" und ersetze ihn durch "morgen"
MfG
Rüdiger
Rüdiger
- SubOptimal
- Beiträge: 1709
- Registriert: 10.01.2005 23:25:46
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: bei Frankfurt
Hi,
Du solltest Dich für solche Zwecke etwas näher mit SQL befassen.
Prinzipiell wäre es so möglich:
Diese Anweisung ersetzt in der Spalte foo, in Tabelle foobar alle Einträge "heute" durch "morgen".
SubOptimal
Du solltest Dich für solche Zwecke etwas näher mit SQL befassen.
Prinzipiell wäre es so möglich:
Code: Alles auswählen
mysql> update foobar set foo="morgen" where foo="heute";
SubOptimal
- SubOptimal
- Beiträge: 1709
- Registriert: 10.01.2005 23:25:46
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: bei Frankfurt
Hi Neubix,
dieser Weg wäre aber alles andere als optimal. Speziell bei großen Datenmengen nicht zu empfehlen.
SubOptimal
dieser Weg wäre aber alles andere als optimal. Speziell bei großen Datenmengen nicht zu empfehlen.
SubOptimal
Zuletzt geändert von SubOptimal am 19.09.2005 17:37:07, insgesamt 1-mal geändert.
- SubOptimal
- Beiträge: 1709
- Registriert: 10.01.2005 23:25:46
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: bei Frankfurt
Hallo,
erstmal danke an alle. Das Suchen und Ersetzen soll über alle Tabellen und Felder einer Datenbank gehen.
Bekommt man das auch hin (will das nicht für jede Tabelle einzeln machen)? Der Datenbestand ist schon ein sehr grosser.
Bitte nicht gleich erschlagen für meine Unwissenheit. Habe schon SQL Kenntnisse, aber soetwas habe ich noch nie bei einer MySQL Datenbank germacht.
erstmal danke an alle. Das Suchen und Ersetzen soll über alle Tabellen und Felder einer Datenbank gehen.
Bekommt man das auch hin (will das nicht für jede Tabelle einzeln machen)? Der Datenbestand ist schon ein sehr grosser.
Bitte nicht gleich erschlagen für meine Unwissenheit. Habe schon SQL Kenntnisse, aber soetwas habe ich noch nie bei einer MySQL Datenbank germacht.
MfG
Rüdiger
Rüdiger
- SubOptimal
- Beiträge: 1709
- Registriert: 10.01.2005 23:25:46
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: bei Frankfurt
Wie waers einfach mit ?
Code: Alles auswählen
show tables;
- SubOptimal
- Beiträge: 1709
- Registriert: 10.01.2005 23:25:46
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: bei Frankfurt
Hi nepos,
es ging nicht in erster Linie darum eine Liste aller Tabellen zu bekommen vielmehr darum eine einfache Möglichkeit zu finden mit einem Loop alle Spalten, aller Tabellen bearbeiten zu können. Das geht in MySQL nicht so schön einfach wie in Oracle. Die genannte Tabelle enthält alle Spalten- und Tabellennamen, neben anderen Spalteninfos. Die sich dann sehr einfach mit einem SELECT zur weiteren Verarbeitung des Ergebnisses abfragen lassen. In MySQL ist der Aufwand dafür wesentlich höher.
SubOptimal
es ging nicht in erster Linie darum eine Liste aller Tabellen zu bekommen vielmehr darum eine einfache Möglichkeit zu finden mit einem Loop alle Spalten, aller Tabellen bearbeiten zu können. Das geht in MySQL nicht so schön einfach wie in Oracle. Die genannte Tabelle enthält alle Spalten- und Tabellennamen, neben anderen Spalteninfos. Die sich dann sehr einfach mit einem SELECT zur weiteren Verarbeitung des Ergebnisses abfragen lassen. In MySQL ist der Aufwand dafür wesentlich höher.
SubOptimal