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 KEYPrimärschlüssel - Die Datenbank stellt sicher, dass der verwendete Schlüssel eindeutig ist und nicht
NULList.NOT NULLDie Spalte darf nicht
NULLsein.UNIQUEDer Wert in der Spalte muss eindeutig sein.
DEFAULTDer Standardwert, der verwendet wird, wenn kein Wert angegeben wird.
SERIALAutomatisch 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_TIMESTAMPDer 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