Data Definition Language (DDL)

Werbung
1
Data Definition Language (DDL) ............................................2
1.1
1.1.1
1.1.2
1.2
1.3
1.4
1.5
Tabellen erstellen ................................................................................. 2
Datentyp... .................................................................. 2
Zusätze. .................................................................. 2
Tabellen löschen .................................................................................. 2
Tabellen ändern (Spalten hinzufügen) ................................................. 2
Tabellen ändern (Spalten löschen) ...................................................... 3
Tabellen ändern (Spalten ändern)........................................................ 3
2
2.1
2.2
2.2.1
2.3
Data Modification Language (DML) .....................................3
3
3.1
3.2
3.3
Query Language (QL) ..................................................................5
4
4.1
4.2
4.3
4.4
Weitere nützliche Befehle ..........................................................7
Datensätze einfügen ............................................................................ 3
Datensätze ändern ............................................................................... 4
Vergleichsoperator. .................................................................. 4
Datensätze ändern ............................................................................... 4
Einfachste Abfrage ............................................................................... 5
Ordnen ................................................................................................. 6
Gruppieren ........................................................................................... 7
Lukas Kehrer
IIIaIT
Struktur einer Tabelle ausgeben .......................................................... 7
Alle Tabellen einer Datenbank Ausgeben ............................................ 7
Datenbank erstellen ............................................................................. 7
Datenbank wechseln ............................................................................ 7
SQL
1 Data Definition Language (DDL)
1.1 Tabellen erstellen
CREATE TABLE <Tabellenname>(
<Spaltenname> Datentyp [Zusätze]
[ ,<Spaltenname> Datentyp [Zusätze]]
)
1.1.1 Datentyp:
INTEGER
TEXT
CHAR
DOUBLE
DATE
TIME
TIMESTAMP
BOOL
(ganze Zahlen)
(Text, String, Hochkommas nicht vergessen!)
(einzelne Zeichen)
(Dezimalzahlen, Dezimalzeichen ist ein Punkt)
(Datum, yyyy-mm-dd, Hochkommas nicht vergessen!)
(Uhrzeit, hh:mm, Hochkommas nicht vergessen!)
(Zeitstempel, wird bei einem Update auf die aktuelle Zeit
gesetzt)
(0 (falsch, nein) 1 (wahr, ja))
1.1.2 Zusätze:
NOT NULL
PRIMARY KEY
AUTO_INCREMENT
DEFAULT <Standardwert>
(Feld muss einen Wert haben)
(Feld muss den Datensatz eindeutig
identifizieren)
(in Verbindung mit PRIMARY KEY, Wert wird
Automatisch gesetzt)
(Wenn Kein Wert angegeben wird, dann wird
der Standardwert gespeichert)
1.2 Tabellen löschen
DROP TABLE <Tabellenname>
1.3 Tabellen ändern (Spalten hinzufügen)
ALTER TABLE <Tabellenname>
ADD COLUMN <Spaltenname> Datentyp [Zusätze]
[FIRST | AFTER <Spaltenname>]
Lukas Kehrer
Seite 2 von 7
SQL
1.4 Tabellen ändern (Spalten löschen)
ALTER TABLE <Tabellenname>
DROP COLUMN <Spaltenname>
1.5 Tabellen ändern (Spalten ändern)
ALTER TABLE <Tabellenname>
CHANGE <alter Spaltenname> <neue Spaltenname> Datentyp
[Zusätze]
[FIRST | AFTER <Spaltenname>]
2 Data Modification Language (DML)
2.1 Datensätze einfügen
INSERT INTO <Tabellenname>
(<Spaltenname1> [, <Spaltenname_n>])
VALUES
(<Wert1>[, <Wert_n>])
[, (<Wert1>[, <Wert_n>])]
Vorsicht bei Spalten, die als PRIMARY KEY definiert wurden:
Es darf niemals ein wert 2x eingefügt werden.
Wurde eine Spalte als TEXT oder CHAR definiert, müssen
die Werte zwischen Hochkomma geschrieben werden.
Lukas Kehrer
Seite 3 von 7
SQL
2.2 Datensätze ändern
DELETE FROM <Tabellenname>
[WHERE Bedingung]
Beispiel für Bedingung:
<Spaltenname> Vergleichsoperator <Wert>
2.2.1 Vergleichsoperator
•
•
•
•
•
•
=
<
<=
>
>=
<>
Das Ergebnis einer Bedingung ist entweder WAHR oder
FALSCH
Ohne diese WHERE-Bedingung werden ALLE Datensätze
der Tabelle gelöscht. Werte vom Datentyp TEXT, CHAR,
DATE, TIME müssen zwischen“ geschrieben werden.
2.3 Datensätze ändern
UPDATE <Tabellenname>
SET <Spaltenname1> = <Wert1>
[, <Spaltenname_n> = <Wert_n>]
[WHERE Bedingung]
Vorsicht bei Spalten, die als PRIMARY KEY definiert
wurden!. Es darf niemals ein Wert 2x eingefügt werden.
Der Wert kann auch eine Berechnung enthalten (z.B.:
UPDATE Fussballspiel
SET ToreHeim = ToreGast + 2)
Ohne WHERE-Bedingung werden alle Datensätze der
Tabelle geändert.
Lukas Kehrer
Seite 4 von 7
SQL
3 Query Language (QL)
3.1 Abfragen
SELECT * FROM <Tabellenname> - Gibt die ganze Tabelle aus
SELECT <Spaltenname1> [AS <Ausgabename>] [,
<Spaltenname_n>]
FROM <Tabellenname1> [, <Tabellenname_n>]
[WHERE Bedingung]
[GROUB BY <Spaltenname>]
[ORDER BY <Spaltenname> [, <Spaltenname_n>,…] [DESC | ASC]
]
Wenn alle Spalten ausgegeben warden sollen wird ein * an
Stelle der Spaltennamen geschreiben.
Mit AS kann der Spalten Name für die Ausgabe geändert
werden.
Beispiel:
SELECT Heimmannschaft AS Mannschaft, PunkteHeim AS Punkte
FROM Fussballspiel
Bei Auswahl mehrerer Tabellen wird das kartesische Produkt
gebildet. Jeder Datensatz der einen Tabelle wird mit jedem
Datensatz der anderen Tabelle verknüpft. Um dies zu
vermeiden muss eine WHERE-Bedingung eingeführt
werden, in der der Primärschlüssel der einen Tabelle mit
dem Fremdschlüssel der anderen Tabelle auf Gleichheit
überprüft werden muss.
Befinden sich gleiche Spaltennamen in verschiedenen
Tabellen, so muss vor dem Spaltenname der Tabellenname
mit Punkt getrennt stehen.
Beispiel:
SELECT Heimmannschaft, Gastmannschaft, Vorname, Nachname
FROM Fussballspiel, Schiedsrichter
WHERE Fussballspiel.SRId = Schiedsrichter.SRId
Lukas Kehrer
Seite 5 von 7
SQL
Mit der WHERE-Bedingung können bestimmte Datensätze
zur Ausgabe ausgewählt werden.
Die WHERE-Bedingung kann aus mehreren Teilen
bestehen, die durch AND oder OR verknüpft werden
Beispiel:
SELECT Name
FROM Person
WHERE
Age < 30
OR
(Augenfarbe = "blau"
AND
ledig = 0)
Die verwendeten Spalten in der WHERE-Bedingung
beziehen sich nur auf den aktuellen zu bearbeitenden
Datensatz.
3.2 Ordnen
ORDER BY sortiert die Ausgabetebelle.
DESC für absteigende Sortierung, ASC für eine ansteigende Sortierung
SELECT *
FROM Person
ORDER BY ledig DESC, Age ASC;
Als Spaltenname kann auch folgendes verwendet werden:
COUNT (*) - zählt die Datensätze
MIN(<Spaltenname>) MAX(<Spaltenname>) AVG(<Spaltenname>) SUM(<Spaltenname>) -
gibt das Minimum zurück
gibt das Maximum zurück
gibt den Durchschnitt der Spalte zurück
gibt die Summe zurück
Diese Bedingungen sind in einer WHERE-Bedingung
unzulässig, sie müssen im HAVING verwendet werden.
Beispiel: (Die jüngste Person)
SELECT Name
FROM Person
HAVING MIN(Age);
Lukas Kehrer
Seite 6 von 7
SQL
3.3 Gruppieren
GROUP BY - bildet Gruppen innerhalb der Ausgabe
Bei Abfragen mit GROUP BY sollte nur die Spalte nach der
gruppiert wurde, bzw. Funktionen wie COUNT, MIN, MAX,
AVG oder SUM ausgegeben werden.
Beispiel:
SELECT ledig, AVG(Age), AVG(Groesse)
FROM Person
GROUP BY ledig;
4 Weitere nützliche Befehle
4.1 Struktur einer Tabelle ausgeben
SHOW COLUMNS FROM <Tabellenname>
4.2 Alle Tabellen einer Datenbank Ausgeben
SCHOW TABLES
4.3 Datenbank erstellen
CREATE <Datenbankname>
4.4 Datenbank wechseln
USES <Datenbankname>
Lukas Kehrer
Seite 7 von 7
Herunterladen