Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:m290_guko:learningunits:lu05:theorie:a_ddl [2025/09/14 18:37] – gkoch | modul:m290_guko:learningunits:lu05:theorie:a_ddl [2025/09/18 11:51] (aktuell) – gkoch | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ======  | + | ======  | 
| ===== Lernziele ===== | ===== Lernziele ===== | ||
| Zeile 18: | Zeile 18: | ||
| **Datenbank erstellen: | **Datenbank erstellen: | ||
| <code sql> | <code sql> | ||
| - | CREATE DATABASE  | + | CREATE DATABASE  | 
| </ | </ | ||
| //Bisher haben wir das in WebStorm per Rechtsklick auf die Verbindung → **New → Schema** gemacht (siehe Screenshot).// | //Bisher haben wir das in WebStorm per Rechtsklick auf die Verbindung → **New → Schema** gemacht (siehe Screenshot).// | ||
| Zeile 24: | Zeile 24: | ||
| </ | </ | ||
| + | **Mit Datenbanken arbeiten (USE)** | ||
| + | In einem Datenbanksystem (z. B. MySQL) können mehrere **Datenbanken (Schemas)** nebeneinander existieren.   | ||
| + | Beispiel: Auf demselben MySQL-Server laufen z. B. die Datenbanken // | ||
| + | Damit man weiss, **in welcher Datenbank man arbeitet**, muss man diese zuerst auswählen.   | ||
| + | Das geschieht mit dem SQL-Befehl **USE**: | ||
| <WRAP box center 80% round>  | <WRAP box center 80% round>  | ||
| **Auf eine Datenbank umschalten (Standard-Datenbank für SQL-Befehle aktiv setzen):** | **Auf eine Datenbank umschalten (Standard-Datenbank für SQL-Befehle aktiv setzen):** | ||
| <code sql> | <code sql> | ||
| - | USE meine_datenbank; | + | USE mydb_perfect; | 
| </ | </ | ||
| - | //In WebStorm  | + | In WebStorm  | 
| + | Der Befehl  | ||
| {{: | {{: | ||
| </ | </ | ||
| + | |||
| + | Ab diesem Moment werden alle folgenden SQL-Befehle (z. B. //CREATE TABLE//, //SELECT//, //DROP TABLE//) in dieser Datenbank ausgeführt. | ||
| + | |||
| + | |||
| + | |||
| <WRAP box center 80% round>  | <WRAP box center 80% round>  | ||
| **Datenbank löschen:** | **Datenbank löschen:** | ||
| <code sql> | <code sql> | ||
| - | DROP DATABASE  | + | DROP DATABASE  | 
| </ | </ | ||
| </ | </ | ||
| - | <WRAP box center 80% round important> | + | <WRAP box center 80% round>  | 
| **Achtung: | **Achtung: | ||
| </ | </ | ||
| Zeile 48: | Zeile 59: | ||
| - | ===== 📋 Tabellen erstellen ===== | + | ===== Tabellen erstellen ===== | 
| + | Wie wird nun in eine Datenbank eine Tabelle angelegt? | ||
| + | Dazu gibt es in SQL die Anweisung //CREATE TABLE//, die eine Tabelle mit den dazugehörigen Spalten und deren Datentypen erzeugt. | ||
| Mit dem Befehl **CREATE TABLE** legen Sie eine Tabelle in der aktuell gewählten Datenbank an. | Mit dem Befehl **CREATE TABLE** legen Sie eine Tabelle in der aktuell gewählten Datenbank an. | ||
| **Allgemeine Syntax:** | **Allgemeine Syntax:** | ||
| + | <WRAP box center 80% round>  | ||
| <code sql> | <code sql> | ||
| CREATE TABLE tabellenname ( | CREATE TABLE tabellenname ( | ||
| Zeile 60: | Zeile 73: | ||
| ); | ); | ||
| </ | </ | ||
| + | // | ||
| + | </ | ||
| + | |||
| + | |||
| **Wichtige Namensregeln: | **Wichtige Namensregeln: | ||
| Zeile 66: | Zeile 83: | ||
| * Tabellennamen müssen eindeutig sein | * Tabellennamen müssen eindeutig sein | ||
| - | ---- | ||
| - | ===== 📝 Beispiel: Tabelle  | + | ===== Beispiel: Tabelle  | 
| - | + | ||
| - | Wir wollen eine Tabelle **ort** erstellen, die PLZ, Ort und Vorwahl speichert: | + | |
| + | Wir wollen eine Tabelle **student** (Lernende: | ||
| + | <WRAP box center 80% round>  | ||
| <code sql> | <code sql> | ||
| - | CREATE TABLE ort ( | + | CREATE TABLE student  | 
| - |    | + |    | 
| - |    | + |    | 
| - |    | + |    | 
| + | birthdate DATE | ||
| ); | ); | ||
| </ | </ | ||
| + | Nach Ausführung dieses DDL-Befehls würde das Ergebnis ähnlich wie in der folgenden Abbildung dargestellt aussehen.  | ||
| + | {{: | ||
| + | </ | ||
| **Erklärung: | **Erklärung: | ||
| - |   * `CHAR(5)`  | + |   * // | 
| - | * `VARCHAR(50)` → Zeichenkette variabler Länge (max. 50) | + | * //VARCHAR(50)// → Zeichenkette variabler Länge (max. 50) | 
| - |   * `VARCHAR(12)`  | + |   * // | 
| - | ---- | ||
| - | ===== 🗑️  | + | ===== Tabellen löschen ===== | 
| Mit dem Befehl **DROP TABLE** löschen Sie eine komplette Tabelle (inklusive aller Daten): | Mit dem Befehl **DROP TABLE** löschen Sie eine komplette Tabelle (inklusive aller Daten): | ||
| + | <WRAP box center 80% round>  | ||
| <code sql> | <code sql> | ||
| - | DROP TABLE ort; | + | DROP TABLE student; | 
| </ | </ | ||
| + | </ | ||
| - | **⚠️  | + | <WRAP box center 80% round important> | 
| + | **Achtung: | ||
| + | </ | ||
| - | ---- | ||
| - | ===== 📌 Merksatz ===== | + | ===== Merksatz ===== | 
| ^ SQL-Befehl  | ^ SQL-Befehl  | ||
| | CREATE DATABASE  | | CREATE DATABASE  | ||
| + | | USE DATABASE  | ||
| | DROP DATABASE  | | DROP DATABASE  | ||
| | CREATE TABLE | Neue Tabelle in der aktiven Datenbank erstellen| | | CREATE TABLE | Neue Tabelle in der aktiven Datenbank erstellen| | ||
| | DROP TABLE        | Tabelle aus der aktiven Datenbank löschen  | | DROP TABLE        | Tabelle aus der aktiven Datenbank löschen  | ||
| - | ---- | ||
| - | |||
| - | [[https:// | ||
| - | [[https:// | ||
| - | [[https:// | ||
| ---- | ---- | ||
| [[https:// | [[https:// | ||