Datenbank erstellen​
CREATE DATABASE
​
Mit dem Befehl CREATE DATABASE
kann eine neue Datenbank erstellt werden.
CREATE DATABASE ef_reto;
DROP DATABASE
​
Die Datenbank kann mit dem Befehl DROP DATABASE
auch wieder gelöscht werden:
DROP DATABASE ef_reto;
Bitte löschen Sie nur Datenbanken, die Sie selber erstellt haben!
Der Einfachheit halber haben Sie auf der Kursdatenbank EDU-DBs EF alle Rechte...
Erstellen Sie eine eigene Datenbank mit nach folgendem Schema ef_name
, wobei Sie natĂĽrlich Ihren eigenen Namen verwenden. Wenn der Befehl erfolgreich ausgefĂĽhrt wurde, sollte Ihre Datenbank nach dem Aktualisieren der Verbindungen angezeigt werden.
Tabellen erstellen​
CREATE TABLE
​
Tabellen werden mit dem Befehl CREATE TABLE
erstellt. Die Spalten werden mit dem Namen und dem Datentyp definiert.
CREATE TABLE persons (
id INT,
name TEXT,
alter INT,
beschreibung TEXT
)
Konvention Der Name der Tabelle wird immer im Plural geschrieben.
Datensätze einfügen​
INSERT INTO
​
Mit dem Befehl INSERT INTO
können Datensätze in die Tabelle eingefügt werden.
INSERT INTO persons
(id, name, alter, beschreibung)
VALUES
(1, 'Maria Muster', 42, 'Ein ganz normaler Mensch'),
(2, 'Hans Monster', 55, 'Ein ganz monströser Mensch');
Datenbank
mit der eigenen Datenbank verbinden!
👉 https://db-sql.ch/connections/d68ea3c2-eb9f-4454-aa19-9c00764757b5
Erstellen Sie eine Personen-Tabelle mit einigen selbst gewählten Attributen und fügen Sie einige Datensätze ein. Halten Sie das Query unten fest.
Was passiert, wenn Sie nun nochmals die gleichen Datensätze einfügen?
Tabellen löschen​
DROP TABLE
​
Um eine Tabelle zu löschen, wird der Befehl DROP TABLE
verwendet.
DROP TABLE persons;
Constraints​
Constraints sind Regeln, die auf die Daten angewendet werden. Sie können auf die Spalten oder auf die ganze Tabelle angewendet werden. So wird sichergestellt, dass die Daten in der Tabelle immer korrekt sind.
Damit kann bspw. auch verhindert werden, dass wie oben geschehen, die gleichen Datensätze mehrmals eingefügt werden.
PRIMARY KEY
Primärschlüssel - Die Datenbank stellt sicher, dass der verwendete Schlüssel eindeutig ist und nicht
NULL
ist.NOT NULL
Die Spalte darf nicht
NULL
sein.UNIQUE
Der Wert in der Spalte muss eindeutig sein.
DEFAULT
Der Standardwert, der verwendet wird, wenn kein Wert angegeben wird.
SERIAL
Automatisch generierter Wert, der bei jedem neuen Datensatz um 1 erhöht wird. Beim Primärschlüssel muss dadurch beim Erstellen eines Datensatzes kein Wert angegeben werden.
DEFAULT CURRENT_TIMESTAMP
Der aktuelle Zeitstempel wird als Standardwert verwendet.
Obige Tabelle könnte also auch wie folgt definiert werden:
CREATE TABLE persons (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL,
alter INT,
beschreibung TEXT DEFAULT 'Keine Beschreibung vorhanden',
erstellt_am TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
Die Eingabe wird wegen der automatischen ID's etwas einfacher. Bemerken Sie zudem, dass automatisch von der Datenbank ein Zeitstempel gesetzt wird.
INSERT INTO persons
(name, alter, beschreibung)
VALUES
('Maria Muster', 42, 'Ein ganz normaler Mensch'),
('Hans Monster', 55, 'Ein ganz monströser Mensch');
Datenbank
mit der eigenen Datenbank verbinden!
👉 https://db-sql.ch/connections/d68ea3c2-eb9f-4454-aa19-9c00764757b5
Erstellen Sie Ihre Personen-Tabelle erneut (zuerst Löschen...)
-
verwenden Sie einen seriellen Primärschlüssel
-
stellen Sie sicher, dass benötigte Felder gesetzt werden müssen
-
FĂĽgen Sie fĂĽr mindestens ein Attribut einen Standardwert
-
FĂĽgen Sie ein
erstellt_am
(odercreated_at
) Feld hinzu, welches automatisch mit dem aktuellen Zeitstempel gefĂĽllt wird. -
Fügen Sie einige Datensätze ein - passen Sie am besten das Query von oben an.
Was passiert nun, wenn Sie die Restriktionen verletzen? Probieren Sie es aus und halten Sie einige Fehlermeldungen fest.
Tabellen Erstellen