Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
| mysql:mysql [2018/04/04 20:32] – Hinzufügen der Terminal-Befehle admin | mysql:mysql [2022/03/27 17:48] (aktuell) – [Suche nach doppelten Einträgen] admin | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== MySQL ====== | ====== MySQL ====== | ||
| + | |||
| + | Diese Seite enthält allgemeine Hilfen sowie hilfreiche SQL-Befehle für TYPO3-Tabellen. | ||
| ===== Terminal-Befehle ===== | ===== Terminal-Befehle ===== | ||
| Zeile 23: | Zeile 25: | ||
| < | < | ||
| mysql -u Username -p Datenbankname < beispiel.sql | mysql -u Username -p Datenbankname < beispiel.sql | ||
| + | </ | ||
| + | |||
| + | Bei **Mittwald** und ggf. anderen Anbietern muss noch der Hostname ergänzt werden: | ||
| + | |||
| + | < | ||
| + | mysql -u Username -p -h db1234.mydbserver.com Datenbankname < beispiel.sql | ||
| </ | </ | ||
| Zeile 29: | Zeile 37: | ||
| ===== SQL-Befehle ===== | ===== SQL-Befehle ===== | ||
| + | ==== Suchen/ | ||
| + | |||
| + | <code mysql> | ||
| + | UPDATE tt_content | ||
| + | SET bodytext = REPLACE(bodytext, | ||
| + | WHERE bodytext LIKE (' | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== RTE Accessibility Icons ersetzen ==== | ||
| + | |||
| + | Mit TYPO3 v7 wurden die Barrierefreiheit-Icons für Links im RTE an andere Stelle im Extension-Verzeichnis verschoben, um die Struktur mit dem Rest des TYPO3-Kerns zu vereinheitlichen. | ||
| + | |||
| + | <code sql> | ||
| + | UPDATE tt_content | ||
| + | SET bodytext = REPLACE(bodytext, | ||
| + | ' | ||
| + | ' | ||
| + | </ | ||
| + | |||
| + | Quelle: [[https:// | ||
| + | |||
| + | Mit der Aktualisierung auf TYPO3 v8 müssen Pfade möglicherweise erneut angepasst werden, da die Extension // | ||
| ==== Suchen/ | ==== Suchen/ | ||
| Zeile 38: | Zeile 69: | ||
| </ | </ | ||
| - | ==== Ausgabe aller vorhandenen Feldwerte | + | ==== Ausgabe aller existierenden Werte eines Feldes ==== |
| + | |||
| + | **Inkl. Anzahl der Datensätze mit diesem Wert:** | ||
| + | <code mysql> | ||
| + | SELECT CType, count(CType) | ||
| + | FROM tt_content WHERE hidden=0 AND deleted=0 | ||
| + | GROUP BY CType | ||
| + | ORDER BY count(CType) desc | ||
| + | </ | ||
| + | |||
| + | oder ohne Anzahl: | ||
| + | |||
| + | <code mysql> | ||
| + | SELECT DISTINCT(CType) AS CType FROM tt_content ORDER BY CType | ||
| + | </ | ||
| + | |||
| + | ==== Alle unterschiedlichen Feldnamen in File-Referenzen, | ||
| + | |||
| + | <code mysql> | ||
| + | SELECT distinct tablenames, fieldname, count(*) FROM sys_file_reference | ||
| + | GROUP BY tablenames, fieldname | ||
| + | ORDER BY count(*) desc | ||
| + | </ | ||
| + | ==== Suche nach doppelten Einträgen ==== | ||
| + | |||
| + | Hier am Beispiel mehrfach importierter Newsbeiträge: | ||
| + | |||
| + | <code mysql> | ||
| + | SELECT uid, | ||
| + | FROM `tx_news_domain_model_news` | ||
| + | GROUP BY title, | ||
| + | HAVING COUNT(*) > 1 | ||
| + | </ | ||
| + | |||
| + | ==== Kopie einer Tabelle anlegen ==== | ||
| + | |||
| + | **Inkl. Indizes des Originals: | ||
| + | <code mysql> | ||
| + | CREATE TABLE newtable LIKE oldtable; | ||
| + | INSERT INTO newtable SELECT * FROM oldtable; | ||
| + | </ | ||
| + | |||
| + | **Ohne Indizes: | ||
| + | <code mysql> | ||
| + | CREATE TABLE newtable AS SELECT * FROM oldtable; | ||
| + | </ | ||
| + | |||
| + | ==== Inhalte aus Original-Tabelle ohne Duplikate kopieren | ||
| <code mysql> | <code mysql> | ||
| - | SELECT * FROM `tt_content` GROUP BY `CType` | + | CREATE TABLE sys_file_reference_new LIKE sys_file_reference; |
| - | SELECT * FROM `pages` | + | INSERT INTO sys_file_reference_new |
| + | SELECT * FROM | ||
| + | (SELECT * FROM sys_file_reference WHERE deleted=0 | ||
| </ | </ | ||