Tabellen erstellen und befüllen
In diesem Schritt erstellen Sie zwei Tabellen, employees
(Mitarbeiter) und departments
(Abteilungen), und befüllen diese mit Beispieldaten. Diese Tabellen werden in den folgenden Schritten verwendet, um Tabellenverknüpfungstechniken (table joining techniques) zu demonstrieren.
Öffnen Sie zunächst die SQLite-Shell, indem Sie den folgenden Befehl im Terminal ausführen:
sqlite3 /home/labex/project/company.db
Dieser Befehl öffnet die SQLite-Shell und verbindet sich mit einer Datenbankdatei namens company.db
. Wenn die Datei nicht existiert, wird sie von SQLite erstellt.
Erstellen Sie nun die Tabelle employees
mit dem folgenden SQL-Befehl:
CREATE TABLE employees (
id INTEGER PRIMARY KEY,
name TEXT,
department_id INTEGER
);
Dieser Befehl erstellt eine Tabelle namens employees
mit drei Spalten: id
, name
(Name) und department_id
(Abteilungs-ID). Die Spalte id
ist der Primärschlüssel (primary key) und identifiziert jeden Mitarbeiter eindeutig.
Als Nächstes erstellen Sie die Tabelle departments
mit dem folgenden SQL-Befehl:
CREATE TABLE departments (
id INTEGER PRIMARY KEY,
name TEXT
);
Dieser Befehl erstellt eine Tabelle namens departments
mit zwei Spalten: id
und name
. Die Spalte id
ist der Primärschlüssel und identifiziert jede Abteilung eindeutig.
Fügen Sie nun einige Beispieldaten in die Tabelle employees
ein:
INSERT INTO employees (name, department_id) VALUES
('Alice', 1),
('Bob', 2),
('Charlie', 1),
('David', 3),
('Eve', NULL);
Dieser Befehl fügt fünf Zeilen in die Tabelle employees
ein. Jede Zeile repräsentiert einen Mitarbeiter und seine entsprechende Abteilungs-ID.
Fügen Sie abschließend Beispieldaten in die Tabelle departments
ein:
INSERT INTO departments (name) VALUES
('Sales'),
('Marketing'),
('Engineering');
Dieser Befehl fügt drei Zeilen in die Tabelle departments
ein. Jede Zeile repräsentiert eine Abteilung und ihren Namen.
Um zu überprüfen, ob die Tabellen korrekt erstellt und befüllt wurden, können Sie den folgenden SQL-Befehl ausführen:
SELECT * FROM employees;
Erwartete Ausgabe (Expected Output):
1|Alice|1
2|Bob|2
3|Charlie|1
4|David|3
5|Eve|
Und:
SELECT * FROM departments;
Erwartete Ausgabe (Expected Output):
1|Sales
2|Marketing
3|Engineering