Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Globales Ersetzen einer Zeichenfolge in einer mySQL-Datenbank

Frage Entwicklung Datenbanken

Mitglied: Winfried-HH

Winfried-HH (Level 2) - Jetzt verbinden

09.02.2012 um 10:11 Uhr, 11201 Aufrufe, 6 Kommentare

Hallo in die Runde,

gibt es eine Möglichkeit, in einer mySQL-Datenbank eine bestimmte Zeichenfolge global durch eine andere zu ersetzen?


Danke,
Winfried
Mitglied: SlainteMhath
09.02.2012 um 11:19 Uhr
Moin,

per SQL Befehl: nein.
Du kannst natuerlich die DB (als SQL-Script) exportieren, mit texteditor suchen/ersetzen und dann wieder importieren - während der Bearbeitung muss die DB natuerlich offline sein.

lg,
Slainte
Bitte warten ..
Mitglied: Winfried-HH
09.02.2012 um 13:01 Uhr
per SQL Befehl: nein.
Du kannst natuerlich die DB (als SQL-Script) exportieren, mit texteditor suchen/ersetzen und dann wieder importieren -
während der Bearbeitung muss die DB natuerlich offline sein.

Da ich mich mit PHP und MySQL nicht wirklich auskenne, lasse ich da lieber die Finger von. Es gibt beim Exportieren einer Datenbank unter PHPMyAdmin so viele Optionen, die man ein- oder ausschalten kann (Export in einer Transaktion zusammenfassen, Fremdschlüsselüberprüfung deaktivieren, DROP DATABASE hinzufügen, Mit 'DROP TABLE', Mit 'IF NOT EXISTS', AUTO_INCREMENT-Wert hinzufügen, Tabellen- und Feldnamen in einfachen Anführungszeichen, Vollständige 'INSERT's, Erweiterte 'INSERT's, Verzögerte 'INSERT's, Fehlerübergehende 'INSERT's) und ich weiß nicht, welche ich brauche, um meine Datenbank hinterher wieder sicher zurückspielen zu können. Wenn da was schief geht, ist unsere komplette WebSite weg, da es sich um die Datenbank unseres CMS handelt.

Aber mal angenommen, es muß nicht global sein, sondern es reichen im Prinzip zwei Felder in zwei Tabellen - kann ich dann diesen Code verwenden, den ich im Netz gefunden habe:

01.
UPDATE tabellenname SET feldname = replace(feldname, suchstring, ersatzstring);
Und kann ich den mehrfach untereinander setzen, um verschiedene Ersetzungen sozusagen als Batch durchzuführen:

01.
UPDATE 'cms_inhalt' SET 'content' = replace('content', 'märchen.jpg', 'maerchen.jpg'); 
02.
UPDATE 'cms_inhalt' SET 'content' = replace('content', 'märchen.jpg', 'maerchen.jpg'); 
03.
UPDATE 'cms_news_inhalt' SET 'content' = replace('content', 'märchen.jpg', 'maerchen.jpg'); 
04.
UPDATE 'cms_news_inhalt' SET 'content' = replace('content', 'märchen.jpg', 'maerchen.jpg');
Bitte warten ..
Mitglied: SlainteMhath
09.02.2012 um 13:16 Uhr
Da ich mich mit PHP und MySQL nicht wirklich auskenne, lasse ich da lieber die Finger von.
Brav

Und kann ich den mehrfach untereinander setzen, um verschiedene Ersetzungen sozusagen als Batch durchzuführen:
Ja, kann man. Allerdings würde ich da noch eine Transaktion drumrum packen (und vorher ein DB Backup machen)
Bitte warten ..
Mitglied: Winfried-HH
09.02.2012 um 13:22 Uhr
Ja, kann man. Allerdings würde ich da noch eine Transaktion drumrum packen

Und was für eine??


(und vorher ein DB Backup machen)

Da sind wir wieder bei dem obigen Problem. DB-Backup heißt ja, die Datenbank per PHPMyAdmin zu exportieren. Da stellt sich dann aber wieder die Frage, welche der diversen Optionen man benötigt, welche zumindest nicht schade, wenn man sie aktiviert, und welche man besser nicht aktivieren sollte.
Bitte warten ..
Mitglied: SlainteMhath
09.02.2012 um 13:43 Uhr
Und was für eine??
Oook Guckst Du MySQL Doku: http://dev.mysql.com/doc/refman/5.0/en/commit.html

Kurz und unverblühmt: bei deinem Kentnissstand empfehle ich dir, die DB in eine Test umgebung zu überführen und die Änderungen und den Im./Export dort zu testen. Aller andere führt mit hoher wahrscheinlichlkeit zu Datenverlust.
Bitte warten ..
Mitglied: Winfried-HH
09.02.2012 um 14:01 Uhr

Grummel ... schon wieder was in Englisch. Es ist ja nicht so, daß ich kein Englisch könnte, mein altes Schulenglisch ist noch ganz gut in Schuß. Aber ein englischer Fachartikel über ein Thema, das ich nicht mal in Deutsch richtig verstehe, ist was anderes.


Kurz und unverblühmt: bei deinem Kentnissstand empfehle ich dir, die DB in eine Test umgebung zu überführen und die
Änderungen und den Im./Export dort zu testen. Aller andere führt mit hoher wahrscheinlichlkeit zu Datenverlust.

Ja, ich gebe durchaus zu, daß mein Kenntnisstand im Bereich SQL und PHP dürftig ist. Aber genau das möchte ich ja ändern. Daher wäre eine deutschsprachige und für Anfänger verständliche Erläuterung der oben genannten Exportoptionen (vielleicht sogar mit einer Empfehlung, ob man das braucht oder nicht) mir wesentlich lieber als eine langwierige Trial-and-Error-Testreihe, für die mir mein beruflicher Alltag nicht wirklich Zeit läßt. Also, gibt es so ein Tutorial irgendwo?
Bitte warten ..
Ähnliche Inhalte
VB for Applications
gelöst Feld mit CSV-Daten aus MySQL-Datenbank einlesen (3)

Frage von Andreas.HH1 zum Thema VB for Applications ...

Datenbanken
Tool oder Dienst für E-Mail (POP3) zu MySQL Datenbank (3)

Frage von bounee zum Thema Datenbanken ...

Exchange Server
Exchange 2010 Datenbank neu aufbauen - wie vorgehen? (3)

Frage von westberliner zum Thema Exchange Server ...

Windows Server
Windows 2003 Domäne durch 2016er ersetzen (3)

Frage von Cenion zum Thema Windows Server ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (35)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (15)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

CMS
Lokales Wordpress im LAN - wie aufsetzen? (13)

Frage von Static zum Thema CMS ...

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...