Big's Homepage
05.05.2024
Sonnenaufgang 03:41
Sonnenuntergang 18:32
Tageslänge 14:51
 
Wissen
Links
Fun
Freizeit
Region
Reisen
Buidl
Impressum
Datenschutz
SQL Schlüsselwörter sind GROSS geschrieben, alle SQL Statements enden mit einem Semikolon (;)
# Kommentare stehen hinter dem 'Lattenzaun'

SELECT  

SELECT dient zur Selektierung (Auswahl) von Daten aus Datensätzen. (oder zur Ergebnisanzeigen von Funktionen)
SELECT spalte1,spalte2 FROM tabelle WHERE a=b ORDER BY spalte2;
Beispiele:
SELECT * FROM kunden WHERE kdnr<=1000;
SELECT COUNT(*) FROM kunden WHERE plz=12345;
SELECT name FROM kunden WHERE name LIKE 'M%er';
SELECT AVG(wert) FROM kunden WHERE umsatz>100;
SELECT * FROM kunden, bestellungen WHERE kunden.kdnr=bestellungen.kdnr
SELECT name, MAX(wert) AS maximum FROM kunden GROUP BY name HAVING maximum >3;
SELECT user();   #Zeigt den aktuellen Benutzer an
SELECT version(),current_date,current_time()   # Zeigt Version, Datum, Zeit an
SELECT now(), (1+2)*5, sin(pi()/4)   # Zeigt datetime (akt. Datum und Zeit), sowie die Ergebnisse an
SELECT * FROM kunden LIMIT 0,10   # Zeigt ab Element 0 - 10 Datensätze an
Verschachtelte SELECT Anfrage:
SELECT name FROM kunden WHERE LENGTH(ort) = (SELECT MAX(LENGTH(ort)) FROM kunden)  # alle Kunden mit den längsten Ortsnamen
SELECT name FROM kunden WHERE bank IN (SELECT bankname FROM pleitebanken WHERE status=1)
 

INSERT  

INSERT dient zum Einfügen von Datensätzen.
INSERT INTO tabelle VALUES (’’,’’,’’),(’’,’’,’’);
 

UPDATE  

UPDATE dient zur Änderung bestehnder Datensätze.
UPDATE tabelle SET spalte=wert WHERE a=b;
 

DELETE  

DELETE ermöglicht die Löschung von Datensätzen.
DELETE FROM tabelle WHERE a=b;

Funktionen  

SQL Ausdruck  >  Ergebnis  - Beschreibung
SELECT CONV("AC3F",16,10)  >  44095  -  Zum Umwandeln zwischen Zahlensystemen. (Beispiel Hexadezimal in Dezimal umwandeln)
SELECT CHAR(77,121,83,81,'76')  >  MySQL - Dezimalzahlen als Character darstellen.
SELECT LEFT('Teststring',4)  >  Test  -  Gibt die x linkesten Zeichen eines Strings zurück
SELECT RIGHT('Teststring',4)  >  ring  -  Gibt die x linkesten Zeichen eines Strings zurück
SELECT SUBSTRING('Teststring',5,3)  > str  - Gibt ab dem 5ten Zeichen 3 Zeichen zurück
SELECT LENGTH('Teststring')  >  10  -  Gibt die Anzahl der Zeichen eines Strings zurück
SELECT REVERSE('Hallo')  >  ollaH  -  Gibt den String rückwärts aus
SELECT LCASE('Hallo')  >  hallo  -  Wandelt den String in Kleinbuchstaben um
SELECT UCASE('Hallo')  >  HALLO  -  Wandelt den String in Großbuchstaben um
SELECT ROUND(3.1415926)  >  3  -  Rundet auf eine Dezimalzahl
SELECT ROUND(3.1415926,4)  >  3.1416  -  Rundet auf x Dezimalstellen
SELECT TRUNCATE(1.3456,2)  >  1.34  -  Zur Anzeige mit x Dezimalstellen (schneidet nur ab bzw. füllt ggf. mit Nullen auf)

SELECT MAX(Feld) FROM Tabelle > 9 - Größten Wert ermitteln
SELECT MIN(Feld) FROM Tabelle > 1 - Kleinsten Wert ermitteln
 

Views  

Um z.B. eine eingeschränkte Sicht auf eine Tabelle zu geben:
CREATE VIEW nur_namen AS SELECT vorname, nachname FROM adressen

Die View erscheint wie eine andere Tabelle und ist auch genauso zugreifbar.
Zum löschen geht man wie folgt vor:
DROP VIEW nur_namen;

Import / Export  

LOAD zum Laden von Datensätzen.
LOAD DATA INFILE ’filename’ [REPLACE|IGNORE]
INTO TABLE tabelle
[FIELDS TERMINATED BY ’\t’ ENCLOSED BY ’’ ESCAPED BY ’’ LINES TERMINATED BY ’\n’]
[IGNORE number LINES (col_name,...)]
# Achtung bei Pfadangaben Slash verwenden: c:/temp/abc.txt
Folgende Kommandozeilenbefehle sind auch hilfreich:
Export in eine .sql Datei
mysqldump -u benutzername -p datenbank > backup.sql    Exportiert alles in gut lesbarem Format
mysqldump --opt -u benutzername -p datenbank > backup.sql   Export in optimiertem Format
Import aus einer .sql Datei
mysql -u benutzername -p datenbank < backup.sql   Import aus einer .sql Datei
 

Sonstiges  

STATUS # Zeigt den aktuellen Status an (mySQL Monitor)
HELP # Zeigt Hilfeinformationen an
QUIT # Beendet das Programm
SHOW DATABASES # Zeigt alle Datenbanken an
SHOW TABLES # Zeigt alle Tabellen an
USE <datenbank> # Verwende die Datenbank mit dem Namen <datenbank>
DESC <datenbank> # Beschreibt den Aufbau der Datenbank mit dem Namen <datenbank>
CREATE DATABASE # <datenbank> Erzeugt eine neue Datenbank mit dem Namen <datenbank>
DROP DATABASE # <datenbank> Löscht die Datenbank mit dem Namen <datenbank>