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, 10557 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 ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Batch & Shell
Powershell - In Textdatei suchen und ersetzen (5)

Frage von Raaja89 zum Thema Batch & Shell ...

Windows Netzwerk
Windows Server 2003 SBS Netzwerk durch neuen Server Ersetzen (9)

Frage von MultiStorm zum Thema Windows Netzwerk ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...