Tabelle vom MySQL abfragen und aktualisieren

UPDATE tabelle SET abc = ’neu‘ WHERE id IN ( SELECT id FROM ( SELECT * FROM tabelle WHERE def IS NULL AND def NOT LIKE ‚das nicht%‘ ORDER BY def ) AS t )update tabelle set abc = ’neu‘ where id in ( select id from ( select * from tabelle where def is […]

Temporäre Tabellen vom MySQL

SET max_error_count=0; DROP TEMPORARY TABLE IF EXISTS tmpfilter; CREATE TEMPORARY TABLE tmpfilter (gid INT); INSERT INTO tmpfilter (SELECT cot_cof_gid FROM task WHERE cot_betreff LIKE ‚+++ DEMO +++ %’); DELETE FROM files WHERE cof_gid IN (SELECT gid FROM tmpfilter); OPTIMIZE TABLE files;set max_error_count=0; drop temporary table if exists tmpfilter; create temporary table tmpfilter (gid int); insert […]

mysql vertical

Die Ausgabe von vielen Spalten lässt sich optimieren, wenn die Abfrage mit \G statt mit ; am Ende ausgelöst wird. Dauerhaft kann diese Einstellung pro Benutzer vorgenommen werden, wenn im HOME eine Datei .my.cnf mit folgendem Inhalt erstellt wird. [mysql] vertical Diese Einstellung in /etc/my.cnf ändert das Verhalten global. Ist die Option aktiviert, erzeugt auch […]

deutsche Collation für MySQL

Ein Auszug vom Artikel „MySQL-Collation latin1_german1_ci oder latin1_german2_ci?“: Collations bestimmen die Sortierreihenfolgen eines SQL-Servers, beispielsweise in ORDER BY-Abfragen. Wenn eine SQL-Abfrage Textfelder auf- oder absteigend sortieren soll, ist es wichtig zu wissen, wie beispielsweise deutsche Umlaute behandelt werden sollen. Dies wird durch die verwendete Collation festgelegt. Für den deutschen Sprachraum sind zwei Collations in MySQL […]

Backup-Prozedur für MySQL

Die Aufgabe war, eine gespeicherte Prozedur zu schreiben, mit deren Hilfe kritische Tabellen automatisiert mit einem Suffix gesichert werden können. Entstanden ist folgendes Konstrukt. Ein Cursor durchwandert eine Liste mit Tabellenname. Mit diesen und dem Suffix-Parameter werden vorbereitete Anweisungen erstellt und ausgeführt.

MySQL Optionen

Die Startoptionen der MySQL-Programme lassen sich in Optionsdateien festlegen. Folgendes Beispiel bewirkt, das alle Klientprogramme (Gruppe „client“) das Kennwort „geheim“ und das Charset „utf8“ verwenden. Die Datei ~/.my.cnf muss mit chmod 600 .my.cnf die passenden Zugriffsrechte erhalten. [code lang=“bash“]# ein Kommentar [client] password=“geheim“ default-character-set=utf8[/code]

Eigene Funktionen im MySQL

Die Aufgabe: eine oft benötigte Funktion innerhalb des MySQL ablegen. Eine Struktur (mit unbekannter Tiefe) wurde in einer Tabelle (jeweils ID oben und unten) abgelegt. Die Funktion soll eine beliebige ID in den dazu passenden Pfad umwandeln können. Die Lösung: eine eigene Funktion im MySQL. Sie sucht – ausgehend von der aktuellen ID – die […]