Benutzer-Werkzeuge

Webseiten-Werkzeuge


mysql:mysql

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
mysql:mysql [2017/09/20 18:02] – Ausgabe aller vorhandenen Feldwerte (ohne Mehrfachnennung) adminmysql:mysql [2022/03/27 17:48] (aktuell) – [Suche nach doppelten Einträgen] admin
Zeile 1: Zeile 1:
 ====== MySQL ====== ====== MySQL ======
  
-===== Suchen/Ersetzen exakter Werte in Feldern =====+Diese Seite enthält allgemeine Hilfen sowie hilfreiche SQL-Befehle für TYPO3-Tabellen. 
 + 
 +===== Terminal-Befehle ===== 
 + 
 +==== MySQL-Server starten/stoppen/neustarten ==== 
 + 
 +<code> 
 +mysql.server start 
 +mysql.server stop 
 +mysql.server restart 
 +</code> 
 + 
 +<WRAP center round tip 100%> 
 +Tritt beim Start von MySQL der Fehler\\ 
 +''ERROR! The server quit without updating PID file''\\ 
 +auf, müssen die //.err//-Dateien im Ordner ''/usr/local/var/mysql/'' gelöscht werden. 
 +</WRAP> 
 + 
 +==== SQL-Import über Terminal ==== 
 + 
 +Wenn die SQL-Datei zu groß für einen Import über phpmyadmin ist. Leere Datenbank muss bereits vorhanden sein.  
 + 
 +<code> 
 +mysql -u Username -p Datenbankname < beispiel.sql 
 +</code> 
 + 
 +Bei **Mittwald** und ggf. anderen Anbietern muss noch der Hostname ergänzt werden: 
 + 
 +<code> 
 +mysql -u Username -p -h db1234.mydbserver.com Datenbankname < beispiel.sql 
 +</code> 
 + 
 +---- 
 + 
 +===== SQL-Befehle ===== 
 + 
 +==== Suchen/Ersetzen von Teilstrings innerhalb einzelner DB-Felder ==== 
 + 
 +<code mysql> 
 +UPDATE tt_content 
 +SET bodytext = REPLACE(bodytext, 'class="old-btn"', 'class="c-btn  c-btn--primary"'
 +WHERE bodytext LIKE ('%class="old-btn"%'); 
 +</code> 
 + 
 + 
 +==== 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,  
 +    'rtehtmlarea/res/accessibilityicons/img/',  
 +    'rtehtmlarea/Resources/Public/Images/'); 
 +</code> 
 + 
 +Quelle: [[https://stackoverflow.com/questions/42736166/rtes-accessibilityicons-missing-in-typo3-7-6|Stack Overflow: RTEs accessibilityicons missing in TYPO3 7.6]] 
 + 
 +Mit der Aktualisierung auf TYPO3 v8 müssen Pfade möglicherweise erneut angepasst werden, da die Extension //rtehtmlarea// nicht mehr zum TYPO3-Kern gehört und ggf. nachinstalliert werden muss. Statt ''/typo3/sysext/rtehtmlarea/'' lautet der Pfad dann ''/typo3conf/ext/rtehtmlarea/''
 + 
 +==== Suchen/Ersetzen exakter Werte in Feldern ====
  
 Hilfreich, um z.B. den Wert ''1'' in einem Feld zu finden, nicht aber ''12''. Hilfreich, um z.B. den Wert ''1'' in einem Feld zu finden, nicht aber ''12''.
Zeile 9: Zeile 69:
 </code> </code>
  
-----+==== 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 
 +</code> 
 + 
 +oder ohne Anzahl: 
 + 
 +<code mysql> 
 +SELECT DISTINCT(CType) AS CType FROM tt_content ORDER BY CType 
 +</code> 
 + 
 +==== Alle unterschiedlichen Feldnamen in File-Referenzen, unterschieden nach Tabelle: ==== 
 + 
 +<code mysql> 
 +SELECT distinct tablenames, fieldname, count(*) FROM sys_file_reference 
 +GROUP BY tablenames, fieldname 
 +ORDER BY count(*) desc 
 +</code> 
 +==== Suche nach doppelten Einträgen ==== 
 + 
 +Hier am Beispiel mehrfach importierter Newsbeiträge: 
 + 
 +<code mysql> 
 +SELECT uid,title,externalurl, COUNT(*) 
 +FROM `tx_news_domain_model_news` 
 +GROUP BY title,externalurl 
 +HAVING COUNT(*) > 1 
 +</code> 
 + 
 +==== Kopie einer Tabelle anlegen ==== 
 + 
 +**Inkl. Indizes des Originals:** 
 +<code mysql> 
 +CREATE TABLE newtable LIKE oldtable; 
 +INSERT INTO newtable SELECT * FROM oldtable; 
 +</code> 
 + 
 +**Ohne Indizes:** 
 +<code mysql> 
 +CREATE TABLE newtable AS SELECT * FROM oldtable; 
 +</code>
  
-===== Ausgabe aller vorhandenen Feldwerte (ohne Mehrfachnennung) =====+==== 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` GROUP BY `backend_layout`+INSERT INTO sys_file_reference_new 
 +SELECT * FROM 
 +(SELECT * FROM sys_file_reference WHERE deleted=0 GROUP BY uid_local,uid_foreign,sys_language_uid A;
 </code> </code>
mysql/mysql.1505923366.txt.gz · Zuletzt geändert: 2017/09/20 18:02 von admin