You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In diesem Kapitel werden die grundlegende Syntax von SQL behandeln.
3
+
In diesem Kapitel wird die grundlegende Syntax von SQL behandeln.
4
4
5
-
SQL-Statements kann man als 'commands' sehen, die gegen eine bestimmte Datenbank gefeuert werden. Durch SQL-Statements teilst du MySQL mit, was man erreichen möchte. Beispielsweise, wenn man alle Benutzernamen `username` aus der `users`-Tabelle den erfahren möchte, würde man folgendes ausführen:
5
+
SQL-Statements kann man als 'commands' sehen, die gegen eine bestimmte Datenbank gefeuert werden. Durch SQL-Statements teilst du MySQL mit, was du erreichen möchtest. Um beispielsweise alle Benutzernamen `username` aus der `users`-Tabelle zu erhalten, würdest du folgendes schreiben:
6
6
7
7
```sql
8
8
SELECT username FROM users;
@@ -11,17 +11,16 @@ SELECT username FROM users;
11
11
Schauen wir uns das Statement mal genauer an:
12
12
13
13
*`SELECT`: Als erstes begegnen wir dem `SELECT`-Schlüsselwort, welches aussagt, dass wir Daten aus der Datenbank auslesen bzw. auswählen wollen. Andere typische Schlüsselwörter sind: `INSERT`, `UPDATE` oder auch `DELETE`.
14
-
*`username`: Nun geben wir an, was wir selektieren wollen. In diesem Fall die Tabellenspalte `username`.
14
+
*`username`: Nun geben wir an, welche Spalte wir auswählen wollen.
15
15
*`FROM users`: Schließlich geben wir mit dem `FROM`-Schlüsselwort die Tabelle an, aus der wir Daten lesen wollen.
16
16
* Das Semikolon `;` am Ende wird als Best Practice angesehen.
17
-
Standard-SQL-Syntax erfordert es, aber einige "Database Management Systeme' (DBMS)" sind dabei tolerant, aber man sollte es nicht darauf anlegen.
17
+
Standard-SQL-Syntax erfordert es, einige "Database Management Systeme' (DBMS)" sind dabei tolerant, aber man sollte es nicht darauf anlegen.
18
18
19
-
Wenn dieses Statement ausgeführt werden wir keinerlei Ergebnisse aus der `users`-Tabelle bekommen, da diese gerade erst angelegt wurde und noch leer ist.
19
+
Wenn dieses Statement ausführen, werden wir kein Ergebniss aus der `users`-Tabelle erhalten, da diese gerade erst angelegt wurde und noch leer ist.
20
20
21
-
> Ebenso "Good Practice" ist es SQL-Schlüsselworte großgeschrieben zu verwenden, aber auch das ist nicht Pflicht.
22
-
23
-
Fahren wird fort und behandeln die nächste, grundlegende Operation.
21
+
> Ebenso "Good Practice" ist es, SQL-Schlüsselworte groß zu schreiben, allerdings würde es auch so funktionieren.
24
22
23
+
Schauen wir uns als nächstes die grundlegenden Operatoren an:
25
24
## INSERT
26
25
27
26
Zum Hinzufügen von Daten in deine Datenbank wird das `INSERT`-Statement benutzt.
@@ -33,17 +32,15 @@ INSERT INTO users (username, email, active)
Schauen wir in das Insert-Statement mal im Detail an:
35
+
Schauen wir uns das Insert-Statement mal im Detail an:
37
36
38
-
*`INSERT INTO`: Zunächst benutzen wir `INSERT INTO users`, wodurch MySQL weiß, dass Daten in eine Tabelle geschrieben werden sollen.
39
-
*`users (username, email, active)`: Nun spezifizieren wir den Tabellennamen `users` und schließlich die Tabellenspalten, welche beschrieben werden sollen.
40
-
*`VALUES`: Jetzt geben wir die Daten selbst an, welche eingespeichert werden sollen. Die Reihenfolge der Eigenschaften deckt sich dabei mit der Reihenfolge in `users (...)`.
37
+
*`INSERT INTO`: Zunächst schreiben wir:`INSERT INTO users`, wodurch wir MySQL sagen, dass wir Daten in die Tabelle einfügen wollen.
38
+
*`users (username, email, active)`: nun geben wir den Tabellennamen `users`und schließlich die Tabellenspalten, welche beschrieben werden sollen, an.
39
+
*`VALUES`: Jetzt geben wir die eigentlichen Daten an, welche eingespeichert werden sollen. Die Reihenfolge der Eigenschaften deckt sich dabei mit der Reihenfolge in `users (...)`.
41
40
42
41
## SELECT
43
42
44
-
Nachdem einspeichern, würden wir die Daten gerne aus der Datenbank auslesen.
45
-
46
-
Dafür können wir wieder wieder das `SELECT`-Statement verwenden:
43
+
Um die Daten nach dem Einspeichern wieder auszulesen, können wir wieder auf das `SELECT`-Statement zurückgreifen:
Durch die Verwendung der Wildcard `*` direkt nach dem `SELECT`-Schlüsselwort, sagen wir dass wir alle Spalten aus der `users`-Tabelle haben wollen.
59
+
Durch die Verwendung der Wildcard `*` direkt nach dem `SELECT`-Schlüsselwort sagen wir, dass wir alle Spalten aus der `users`-Tabelle haben wollen.
63
60
64
61
Wenn wir beispielsweise nur den Benutznamen `username`- und die `email`-Spalten haben wollen, passen wir das Statement wie folgt an:
65
62
66
63
```sql
67
64
SELECT username, email FROM users;
68
65
```
69
66
70
-
Somit erhalten wir alle Benutzer, wobei momentan nun mal nur einen haben:
67
+
Somit erhalten wir alle Benutzer, aktuell haben wir jedoch nur einen erstellt:
71
68
72
69
```
73
70
+----------+----------------------+
@@ -79,68 +76,67 @@ Somit erhalten wir alle Benutzer, wobei momentan nun mal nur einen haben:
79
76
80
77
## UPDATE
81
78
82
-
Um Daten in der Datenbank zu verändern benutzt man das `UPDATE`-Statement.
79
+
Um Daten in der Datenbank zu verändern, benutzt man das `UPDATE`-Statement.
83
80
84
-
Die Syntax lautet wie folgt:
81
+
Die Syntax sieht wie folgt aus:
85
82
86
83
```sql
87
84
UPDATE users SET username='bobbyiliev'WHERE id=1;
88
85
```
89
86
90
87
Das Statement im Detail:
91
88
92
-
*`UPDATE users`: Zunächst beginnen wir mit dem `UPDATE`-Schlüsselwort um einzuleiten, dass wir schließlich die `users`-Tabellendaten verändern wollen.
93
-
*`SET username='bobbyiliev'`: Dann geben wir die Spalten an, die wir updaten wollen mit der Zuweisung des Wertes der geschrieben werden soll.
94
-
*`WHERE id=1`: Zum Abschluss wird die `WHERE`-Klausel verwendet um die Benutzer zu spezifizieren, auf die das Update ausgeführt werden soll. In diesem Fall wollen wir den Benutzer mit der ID 1.
95
-
96
-
> Achtung: Ohne eine `WHERE`-Klausel würden die Änderungen auf alle Einträge ausgeführt werden und alle hätten den `username` auf `bobbyiliev` geändert. Es gilt also Vorsicht bei der Benutzung des `UPDATE`-Statements ohne `WHERE`-Klausel, ansonsten werden immer alle Datensätze betroffen.
89
+
*`UPDATE users`: Zunächst beginnen wir mit dem `UPDATE`-Schlüsselwort, gefolgt von der Tabelle, die wir bearbeiten wollen.
90
+
*`SET username='bobbyiliev'`: Dann geben wir die Spalten an, die wir bearbeiten wollen, sowie den neuen Wert.
91
+
*`WHERE id=1`: Zum Abschluss wird die `WHERE`-Bedingung verwendet um einen spezifischen Nutzer auszuwählen, hier der Nutzer mit der ID 1.
97
92
93
+
> Achtung: Ohne eine `WHERE`-Bedingung würden die Änderungen auf alle Einträge ausgeführt werden, und alle Nutzernamen `username` würden auf `bobbyiliev` geändert werden. Es gilt also Vorsicht bei der Benutzung des `UPDATE`-Statements ohne `WHERE`-Bedingung, denn so betrifft die Änderung alle Einträge der Tabelle.
98
94
In den kommenden Kapiteln werden wir auf `WHERE` noch detaillierter eingehen.
99
95
100
96
## DELETE
101
97
102
-
Wie sicherlich schon erahnbar wird `DELETE`benutzt um Daten aus der Datenbank zu tilgen.
98
+
Wie aus dem Namen bereits hervorgeht, kann `DELETE`verwendet werden, um Daten aus der Datenbank zu löschen.
103
99
104
-
Die Syntax lautet wie folgt:
100
+
Die Syntax sieht wie folgt aus:
105
101
106
102
```sql
107
103
DELETEFROM users WHERE id=1;
108
104
```
109
105
110
-
Genau wie beim`UPDATE`-Statement werden alle Datensätze betroffen, wenn keine `WHERE`-Klausel verwendet wird. Ergo würden alle Datensätze aus der entsprechenden Tabelle gelöscht werden.
106
+
Genau wie das`UPDATE`-Statement betrifft `DELETE`alle Einträge, wenn keine `WHERE`-Bedingung festgelegt wird. Ergo würden alle Datensätze aus der entsprechenden Tabelle gelöscht werden.
111
107
112
108
## Kommentare
113
109
114
-
Falls größere SQL-Skripte geschrieben werden können Kommentare nützlich sein, wenn man nach längerer Zeit wieder auf den Code schaut und die einstigen Gedankengänge nachvollziehen möchte.
110
+
Für größere SQL-Skripte können Kommentare Sinn ergeben, damit du dir nicht merken musst, was jede Zeile macht, wenn du das Skript nach längerer Zeit wieder anschaust.
115
111
116
-
Das geht natürlich wie in anderen Programmiersprachen ebenso in SQL.
112
+
Wie in allen Programmiersprachen, können Kommentare in SQL verwendet werden.
117
113
118
114
Es gibt 2 Arten von Kommentaren:
119
115
120
116
* Einzeilige Kommentare:
121
117
122
-
Dafür muss man lediglich `--` vor den Text setzen und die Zeile ist auskommentiert:
118
+
Dafür muss man lediglich `--` vor den Text setzen, den man auskommentieren will:
123
119
124
120
```sql
125
-
SELECT*FROM users; --Gib mir alle Benutzer
121
+
SELECT*FROM users; --Erhalte alle Benutzer
126
122
```
127
123
128
124
* Mehrzeilige Kommentare:
129
125
130
-
So wie in diversen anderen Programmiersprachen sind mehrzeilige Kommentare durch das Umschließen von`/*` und `*/` möglich:
126
+
So wie in diversen anderen Programmiersprachen, sind mehrzeilige Kommentare durch das Umschließen des Kommentars durch`/*` und `*/` möglich:
131
127
132
128
```sql
133
129
/*
134
-
Gib mir alle Benutzer
135
-
aus der Datenbank.
130
+
Erhalte alle Nutzer
131
+
aus der Datenbank
136
132
*/
137
133
SELECT*FROM users;
138
134
```
139
135
140
-
Du könntest das in einer `.sql`-Datei nutzen und es später komplett oder auch nur einzelne Zeilen direkt ausführen.
136
+
Du könntest das in einer `.sql`-Datei nutzen und später aussführen, oder die Zeilen zum Test direkt ausführen
141
137
142
138
## Fazit
143
139
144
-
Das waren ein paar der häufigsten und grundlegendsten SQL-Statements.
140
+
Das waren einige der häufigsten und grundlegendsten SQL-Statements.
145
141
146
-
In den folgenden Kapiteln werden wir jedes dieser Statments nochmal im Detail durch.
142
+
In den folgenden Kapiteln werden wir jedes dieser Statments nochmal im Detail durchgehen.
0 commit comments