Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| de:modul:m290_guko:learningunits:lu05:theorie:a_ddl [2026/08/13 16:06] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | de:modul:m290_guko:learningunits:lu05:theorie:a_ddl [2026/08/13 16:08] (aktuell) – ↷ Links angepasst, weil Seiten im Wiki verschoben wurden 216.73.216.62 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== LU05a – SQL-DDL: Datenbanken & Tabellen anlegen und löschen ====== | ||
| + | |||
| + | ===== Lernziele ===== | ||
| + | Sie lernen in dieser Lektion: | ||
| + | * wie Sie **Datenbanken** anlegen und löschen | ||
| + | * wie Sie darin **Tabellen** mit Spalten erstellen | ||
| + | * wie Sie Tabellen auch wieder **löschen** | ||
| + | |||
| + | Diese Befehle gehören zur **Data Definition Language (DDL)** von SQL. | ||
| + | |||
| + | |||
| + | ===== Datenbanken erstellen und löschen ===== | ||
| + | |||
| + | Mit einer **Datenbank** schaffen Sie einen „Ordner“, | ||
| + | Hinweis: In **MySQL** sind *Database* und *Schema* Synonyme. In WebStorm (Database-Plugin) lautet der Menüpunkt **New → Schema**, er erstellt damit eine MySQL-Datenbank. | ||
| + | |||
| + | <WRAP box center 80% round> | ||
| + | **Datenbank erstellen: | ||
| + | <code sql> | ||
| + | CREATE DATABASE mydb_perfect; | ||
| + | </ | ||
| + | //Bisher haben wir das in WebStorm per Rechtsklick auf die Verbindung → **New → Schema** gemacht (siehe Screenshot).// | ||
| + | {{de: | ||
| + | </ | ||
| + | |||
| + | **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> | ||
| + | **Auf eine Datenbank umschalten (Standard-Datenbank für SQL-Befehle aktiv setzen):** | ||
| + | <code sql> | ||
| + | USE mydb_perfect; | ||
| + | </ | ||
| + | In WebStorm haben wir bisher die Datenbank über das **Drop-Down-Feld < | ||
| + | Der Befehl //USE// macht dasselbe – nur in SQL-Code-Form. | ||
| + | {{de: | ||
| + | </ | ||
| + | |||
| + | 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> | ||
| + | **Datenbank löschen:** | ||
| + | <code sql> | ||
| + | DROP DATABASE mydb_perfect; | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP box center 80% round> | ||
| + | **Achtung: | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ===== 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. | ||
| + | |||
| + | **Allgemeine Syntax:** | ||
| + | <WRAP box center 80% round> | ||
| + | <code sql> | ||
| + | CREATE TABLE tabellenname ( | ||
| + | spaltenname1 DATENTYP, | ||
| + | spaltenname2 DATENTYP, | ||
| + | ... | ||
| + | ); | ||
| + | </ | ||
| + | // | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | **Wichtige Namensregeln: | ||
| + | * Keine Leerzeichen, | ||
| + | * Nur Kleinbuchstaben | ||
| + | * Tabellennamen müssen eindeutig sein | ||
| + | |||
| + | |||
| + | ===== Beispiel: Tabelle Student ===== | ||
| + | |||
| + | Wir wollen eine Tabelle **student** (Lernende: | ||
| + | <WRAP box center 80% round> | ||
| + | <code sql> | ||
| + | CREATE TABLE student ( | ||
| + | stundent_id INT, | ||
| + | name VARCHAR(50), | ||
| + | surname VARCHAR(50), | ||
| + | birthdate DATE | ||
| + | ); | ||
| + | </ | ||
| + | Nach Ausführung dieses DDL-Befehls würde das Ergebnis ähnlich wie in der folgenden Abbildung dargestellt aussehen. | ||
| + | {{: | ||
| + | </ | ||
| + | |||
| + | **Erklärung: | ||
| + | * //INT// → ganze Zahl (1..50 etc) | ||
| + | * // | ||
| + | * //DATE// → Datum in YYYY-MM-DD | ||
| + | |||
| + | |||
| + | ===== Tabellen löschen ===== | ||
| + | |||
| + | Mit dem Befehl **DROP TABLE** löschen Sie eine komplette Tabelle (inklusive aller Daten): | ||
| + | <WRAP box center 80% round> | ||
| + | <code sql> | ||
| + | DROP TABLE student; | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP box center 80% round important> | ||
| + | **Achtung: | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Merksatz ===== | ||
| + | ^ SQL-Befehl | ||
| + | | CREATE DATABASE | ||
| + | | USE DATABASE | ||
| + | | DROP DATABASE | ||
| + | | CREATE TABLE | Neue Tabelle in der aktiven Datenbank erstellen| | ||
| + | | DROP TABLE | Tabelle aus der aktiven Datenbank löschen | ||
| + | |||
| + | |||
| + | ---- | ||
| + | [[https:// | ||