Kleine Sammlung von SQL Befehlen
Meine kleine Sammlung von wichtigen und häufig gebrauchten SQL-Befehlen.
Suchen und Ersetzen
Mit dieser Abfrage wird eine Zeichenkette im Feld X gesucht und durch eine andere ersetzt, dabei ist es möglich auch teile des Feldinhaltes zu ersetzen.
UPDATE tabellenname SET `Feldname` = REPLACE(`Feldname`, 'zu ersetzender Wert', 'wird in Wert ersetzt')
Ändern aller Werte in der Spalte
Mit dieser Abfrage werden die Werte in Spalten gesetzt. Als Zusatz kann über das WHERE Statement eine Einschränkung erfolgen auf welche Datensätze die Abfrage Anwendung findet.
UPDATE Tablenname SET Spalte1 = Wert1, Spalte2 = Wert2, ... WHERE Einschränkungen;
Oder
Diese Abfrage bezieht für die Werte welche gesetzt werden sollen eine zweite Tabelle mit ein.
UPDATE Tabellenname1 SET column1 = (SELECT Spalte1 FROM Tabllenname2 WHERE Einschränkungen) WHERE Einschränkungen;
Oder
Hier noch ein Beispiel zum Aktualisieren mehrer Tabellen.
UPDATE Tabelle1, Tabelle2, ... SET Spalte1 = Wert1, Spalte2 = Wert2, ... WHERE Tablle1.Spalte = Tablle2.Spalte AND Einschränkungen;
Einfügen von Spalten
ALTER TABLE Tabellenname ADD Feldname varchar(35)
Suchen nach Datensätzen deren Wert X mal in einer Tabelle vorkommt
SELECT * FROM `Tabellenname` GROUP BY `Spaltenname`
HAVING COUNT( * ) <2
Diese Abfrage zeigt alle Datensätze deren Wert in einer Spalte X weniger als 2 mal vorkommt.
Doppelte Datensätze mit SQL finden
In SQL ist es relativ einfach doppelte Datensätze mit nur einem SQL-Statement zu finden. Im Beispiel gehen wir von folgenden Informationen aus:
SELECT * , COUNT(Spalte2) FROM Tabelle GROUP BY Spalte1 HAVING (COUNT(Spalte2) > 1)
Nun bekommt man alle Datensätze der Spalte2 angezeigt, die mehr als einmal in der Tabelle vorhanden sind.
Collation einer Tabelle ändern
Manchmal kann es vorkommen das man die Collation einer bestehenden Tabelle nachträglich ändern muss.
ALTER TABLE `Tabelle` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;