Teilstring ersetzen mit REPLACE

Gelegentlich kommt es vor, dass man nur einzelne Zeichenfolgen in bestimmten Feldern einer mySQL-Datenbank ersetzen möchte.

Ein Anwendungsfall kann zum Beispiel ein seit vielen Jahren betriebener WordPress-Blog sein, welcher bereits betrieben wurde, als SSL-/TLS-Verschlüsselung bei privaten Webseiten noch nicht Usus war.

In diesem Fall können in der Datanbank obsolete href-Attribute mit HTTP (anstatt HTTPS) enthalten sein, die heute zu Sicherheitshinweisen in modernen Browsern führen.

Bei mitunter Tausenden von Einträgen kann folgendes Statement dann sehr hilfreich sein:

UPDATE `table`
SET `column` = REPLACE(`column`, 'http://example.com', 'https://example.com')
WHERE `column` LIKE '%http://example.com%'
;

Tabelle, Spaltenbezeichnungen und Suchstring müssen nur noch auf die eigenen Bedürfnisse angepassst werden.