Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung | ||
mysql:mysql [2017/09/17 17:13] – angelegt admin | mysql:mysql [2022/03/27 17:48] (aktuell) – [Suche nach doppelten Einträgen] admin | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== MySQL ====== | ====== MySQL ====== | ||
- | ===== Suchen/ | + | Diese Seite enthält allgemeine Hilfen sowie hilfreiche SQL-Befehle für TYPO3-Tabellen. |
- | Hilfreich, um z.B. den Wert ' | + | ===== Terminal-Befehle ===== |
+ | |||
+ | ==== MySQL-Server starten/ | ||
+ | |||
+ | < | ||
+ | mysql.server start | ||
+ | mysql.server stop | ||
+ | mysql.server restart | ||
+ | </ | ||
+ | |||
+ | <WRAP center round tip 100%> | ||
+ | Tritt beim Start von MySQL der Fehler\\ | ||
+ | '' | ||
+ | auf, müssen die // | ||
+ | </ | ||
+ | |||
+ | ==== SQL-Import über Terminal ==== | ||
+ | |||
+ | Wenn die SQL-Datei zu groß für einen Import über phpmyadmin ist. Leere Datenbank muss bereits vorhanden sein. | ||
+ | |||
+ | < | ||
+ | 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 | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== 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/ | ||
+ | |||
+ | Hilfreich, um z.B. den Wert ''1'' in einem Feld zu finden, nicht aber ''12''. | ||
<code mysql> | <code mysql> | ||
[[:<: | [[:<: | ||
+ | </ | ||
+ | |||
+ | ==== 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> | ||
+ | CREATE TABLE sys_file_reference_new LIKE sys_file_reference; | ||
+ | INSERT INTO sys_file_reference_new | ||
+ | SELECT * FROM | ||
+ | (SELECT * FROM sys_file_reference WHERE deleted=0 GROUP BY uid_local, | ||
</ | </ |