online 1
gast (50)

/ Forum / Datenbanken

DatenbankenDatenbanken

Fragevon DixiDix vom 30.01.2020, 10:59 Options

Daten in mySQL-Datenbank mit sql stapelweise ändern

Ich habe eine Datenbank in der mehrere Tabellen drin sind, wobei ziehmlich viele Datensätze etwas entstellt sind, und zwar sind hier die deutschen Umlaute falsch importiert worden. Ich könnte jetzt alle Datensätze durchgehen und die änder, aber bei 5000 Sätzen hört der Spaß auf. Gibt es eine Methode die Zeichen per SQL wieder richtig zu stellen?


Antwort schreiben

Antwort 1 von son_quatsch vom 30.01.2020, 11:19 Options

Mehrere Möglichkeiten gibt es:
- nochmal importieren, diesmal auf Codepages achten
- Ausgabe entsprechend umstellen, dann ist egal, wie es in den Tabellen steht
- UPDATE tabelle SET spalte= REPLACE(spalte, 'é', ö');

Antwort 2 von DixiDix vom 30.01.2020, 11:47 Options

Kenne mich da leider nicht so aus. Sehe ich das richtig, ich muss dies Angaben einfach in das SQL-Fenster (hier myphpadmin) eingeben

UPDATE `<meinetabelle>` SET `<spalte>` = REPLACE (`<spalte>`, 'é', ö');

Muss da nicht noch was rein:

SELECT * FROM `<meinetabelle>` WHERE 1`<spalte>`

oder wie muss der Befehl lauten?

Antwort 3 von son_quatsch vom 30.01.2020, 12:04 Options

Nein, da muss nicht noch was rein. Es reicht (auch ohne Accent Graves) das Kommando

UPDATE <meinetabelle> SET <spalte> = REPLACE (<spalte>, 'é', ö');


...wobei é und ö nur eine Beispielkombination sind. Welche Zeichen mit welchen ersetzt werden sollen, musst du selbst herausfinden. Und dann auch pro zu ersetzendem Zeichen ausführen ;-)

Antwort 4 von DixiDix vom 30.01.2020, 12:12 Options

Ah ja das geht, und ginge das auf einen Rutsch auch auf die ganze Datenbank anzuwenden?

Antwort 5 von son_quatsch vom 30.01.2020, 12:37 Options

Nein, nur pro Tabelle. Du kannst aber mehrere Kommandos auf einmal ausführen - statt das jeweils vorherige immer wieder abzuändern. Also z.B.:

UPDATE <meinetabelle1> SET <spalte1> = REPLACE (<spalte1>, 'é', ö'), <spalte2> = REPLACE (<spalte2>, 'é', ö'), <spalte3> = REPLACE (<spalte3>, 'é', ö');
UPDATE <meinetabelle2> SET <spalte> = REPLACE (<spalte>, 'û, ü');
UPDATE <meinetabelle3> SET <spalte3> = REPLACE (<spalte3>, '~', ß');

Antwort 6 von DixiDix vom 30.01.2020, 12:44 Options

Danke, hat geholfen

Ähnliche Themen

Macromedia Flash MX und PHP/MYSQL
greg68  06.08.2007 - 44 Hits - 4 Antworten

Joomla mySQL Datenbank Backup
-Andy-  27.12.2007 - 88 Hits -

SQL Format
Mona2008  14.01.2008 - 18 Hits -

Gesucht, Programm für Datenbank Modelierung
Dr.Ma-Busen  02.06.2008 - 103 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026