MySQL-Tabelle anlegen mit CREATE TABLE
Folien
Falls keine PDF-Präsentation zu sehen ist: Direktdownload der PDF-Präsentation
Anlegen einer neuen Tabelle mit CREATE TABLE tabellenname ()
(create table bei MySQL-docu)
Komplette Syntax:
CREATE TABLE tabellenname (feldname datentyp [NOT NULL] [AUTO_INCREMENT] [PRIMARY KEY], [feldname2 datentyp2 [NOT NULL] ...]
- tabellenname = Name der Tabelle; tabellenname kann auch als zu einer bestimmten DB gehörig spezifiziert werden:
CREATE TABLE 'datenbankname'.'tabellenname' - feldname = “Spalte” einer Tabelle, soll aussagekräftig sein
- datentyp = siehe
- NOT NULL = Wert des Feldes darf nicht 0 sein
- AUTO_INCREMENT = Zahl wird bei jedem neuen Datensatz automatisch um eins erhöht
- PRIMARY KEY = Feld wird zum Primärschlüssel und referenziert damit jeden Datensatz eindeutig
- UNIQUE KEY = Feldinhalt darf nicht doppelt vorkommen (z.B. “Artikelnummer”).
Beispiel:
CREATE TABLE kunden (
kunde_id INT AUTO_INCREMENT NOT NULL PRIMARY KEY, kunde_name VARCHAR(50)
);
oder
CREATE TABLE meine_dvds (id INT AUTO_INCREMENT PRIMARY KEY NOT NULL, nummer INT UNIQUE KEY, name VARCHAR(255));
Übungen
Zusätzliche Dateien (Bilder, Klassendiagramme, HTML-Vorlagen) finden Sie in der Materialsammlung. Diese Übungen können Sie als txt-Datei herunterladen.
Übungen: MySQL - CREATE TABLE
MySQL_2-1: Einfache Tabellen mit CREATE TABLE erstellen
1. Erstellen Sie per CREATE TABLE eine Tabelle "benutzer" mit folgenden Feldern und probieren Sie in phpmyadmin aus, ob der Befehl funktioniert:
- id (Ganzzahl, automatisch hochzählen, Primärschlüssel, darf nicht Null sein)
- vorname (Zeichenkette)
- nachname (Zeichenkette)
- registrierungsdatum (Datum)
2. Erstellen Sie per CREATE TABLE eine Tabelle "kreditkarte" mit folgenden Feldern und probieren Sie in phpmyadmin aus, ob der Befehl funktioniert:
- kartennummer (Ganzzahl, automatisch hochzählen, Primärschlüssel)
- besitzer_id (Ganzzahl)
- Guthaben (DOUBLE)
- passwort (Ganzzahl)
MySQL_2-2) Fehler im Listing finden
Korrigieren Sie die folgenden Listings und erproben Sie die Funktionsfähigkeit in phpmyadmin:
1. Zwei Fehler:
CREATE TABLE kunde_id INT PRIMARY KEY AUTO_INCREMENT, kunde_vorname VARCHAR(80), kunde_postleitzahl VARCHAR(5);
2. Mehrere Fehler
CREATE TABLE kunde (kunde INT PRIMARY_KEY AUTO INCREMENT vorname VARCHAR nachname VARCHAR registrierungsdatum TIMESTAMP;
MySQL_2-3) CREATE TABLE interpretieren
1. Erzeugen Sie in Excel eine Tabelle, die folgendem Befehl entspricht:
CREATE TABLE kunden (kunde_id INT AUTO_INCREMENT PRIMARY KEY, kunde_vorname VARCHAR(100), kunde_nachname VARCHAR(100), kunde_PLZ INT)
2. Erzeugen Sie in Excel eine Tabelle, die folgendem Befehl entspricht:
CREATE TABLE fahrzeugtypen (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), typ VARCHAR(100), motorstaerke INT, verkaufspreis DOUBLE)
MySQL_2-4) Aufbau einer Datentabelle
Betrachten Sie folgende Tabelle (Screenshot in der Datei 07mysql/mysql02-tabelle-richtig-falsch.png):
Datensatz: | id | name | postleitzahl
1 | 1 | Schmitt | 79200
2 | 4 | Müller | 54201
3 | 5 | Maier | 89221
4 | 9 | Hauser | 98177
Welche der folgenden Aussagen sind richtig, welche falsch?
1. Die Tabelle beinhaltet drei Datensätzen.
2. Die Tabelle beinhaltet vier Datensätze.
3. Die Tabelle beinhaltet einen Datensatz.
4. Man kann aus dieser Tabelle nicht ersehen, wie viele Datensätze sie beinhaltet.
5. Die Tabelle hat ein Feld.
6. Die Tabelle hat drei Felder.
7. Die Tabelle hat vier Felder.
8. Die einzelnen Zeilen entsprechen den Datensätzen.
9. Die einzelnen Zeilen entsprechen den Feldern.
10. Die einzelnen Spalten entsprechen den Datensätzen.
11. Die einzelne Spalten entsprechen den Feldern.
12. Wenn wir einen neuen Eintrag hinzufügen (z.B. Herrn Mauser mit der PLZ 65501), würde er als neuer "Datensatz" gespeichert.
13. Wenn wir einen neuen Eintrag hinzufügen (z.B. Herrn Mauser mit der PLZ 65501), würde er als neues "Feld" gespeichert.