SQLite - Befehle: Ein freundlicher Leitfaden für Anfänger

Hallo da draußen, angehende Datenbankenthusiasten! Ich freue mich sehr, Ihr Guide auf dieser aufregenden Reise in die Welt der SQLite-Befehle zu sein. Als jemand, der seit Jahren Informatik unterrichtet, kann ich Ihnen sagen, dass SQLite wie ein freundlicher Welpe in der Datenbankwelt ist - leicht zu näherkommen, spaßig zum Spielen und unglaublich treu, wenn man ihn kennenlernt. Also, tauchen wir ein!

SQLite - Commands

Verständnis der SQLite-Befehle

Bevor wir ins Detail gehen, lassen Sie uns einen Moment innehalten, um zu verstehen, was SQLite-Befehle sind. Stellen Sie sich vor, sie sind die Sprache, die Sie verwenden, um mit Ihrer SQLite-Datenbank zu kommunizieren. Genau wie Sie Englisch verwenden könnten, um einem Bibliothekar zu bitten, ein Buch für Sie zu finden, verwenden Sie SQLite-Befehle, um Ihre Datenbank zu bitten, Daten zu speichern, abzurufen oder zu manipulieren.

Grundlegende SQLite-Befehle

Lassen Sie uns mit einigen der häufigsten SQLite-Befehle beginnen. Diese nennt man gerne die "Daily Bread and Butter" von SQLite - Sie werden sie ständig verwenden!

Befehl Beschreibung Beispiel
CREATE TABLE Erzeugt eine neue Tabelle CREATE TABLE students (id INTEGER PRIMARY KEY, name TEXT, age INTEGER);
INSERT Fügt neue Daten in eine Tabelle ein INSERT INTO students (name, age) VALUES ('Alice', 20);
SELECT Ruft Daten aus einer Tabelle ab SELECT * FROM students;
UPDATE Ändert bestehende Daten UPDATE students SET age = 21 WHERE name = 'Alice';
DELETE Entfernt Daten aus einer Tabelle DELETE FROM students WHERE name = 'Alice';

Lassen Sie uns jeden dieser Befehle mit einigen Beispielen durchgehen:

CREATE TABLE

CREATE TABLE students (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER
);

Dieser Befehl erstellt eine neue Tabelle namens "students". Es ist, als ob man ein neues Aktenregal in seinem Büro einrichtet. Jeder Schüler hat eine ID (die einzigartig ist, wie eine Sozialversicherungsnummer), einen Namen und ein Alter.

INSERT

INSERT INTO students (name, age) VALUES ('Alice', 20);
INSERT INTO students (name, age) VALUES ('Bob', 22);

Diese Befehle fügen neue Schüler in unsere Tabelle ein. Es ist, als ob man Indexkarten ausfüllt und sie in das Aktenregal legt.

SELECT

SELECT * FROM students;

Dieser Befehl ruft alle Daten aus der Schülertabelle ab. Es ist, als ob man das Aktenregal öffnet und alle Indexkarten gleichzeitig ansieht.

SELECT name FROM students WHERE age > 21;

Dieser Befehl ist spezifischer - er ruft nur die Namen der Schüler ab, die älter als 21 Jahre sind. Es ist, als ob man seinem Assistenten bittet, nur die Indexkarten der Schüler herauszuziehen, die alt genug zum Trinken sind (in den USA zumindest!).

UPDATE

UPDATE students SET age = 21 WHERE name = 'Alice';

Dieser Befehl ändert Alices Alter auf 21. Vielleicht ist es ihr Geburtstag! Es ist, als ob man auf Alices Indexkarte geht und ihr Alter mit einem Stift aktualisiert.

DELETE

DELETE FROM students WHERE name = 'Bob';

Dieser Befehl entfernt Bob aus der Schülertabelle. Vielleicht hat er graduiert? Es ist, als ob man Bobs Indexkarte aus dem Aktenregal nimmt und sie schreddert.

Formatierung der Ausgabe

Nun, da wir die Grundlagen abgedeckt haben, lassen Sie uns über das Schönformatieren unserer Ausgabe sprechen. Schließlich, was nützt all diese Daten, wenn wir sie nicht schön präsentieren können?

Der .mode Befehl

SQLite verfügt über einen speziellen Befehl namens .mode, der beeinflusst, wie die Ausgabe dargestellt wird. Hier sind einige der nützlichsten Modi:

Modus Beschreibung
column Zeigt die Ausgabe in Spalten an
line Zeigt die Daten jeder Zeile in separaten Zeilen an
csv Gibt die Daten im CSV-Format aus
html Gibt die Daten als HTML-Tabelle aus

Lassen Sie uns diese in Aktion sehen:

.mode column
SELECT * FROM students;

Dies zeigt unsere Schülerdaten in ordentlichen Spalten an, was sie leicht lesbar macht.

.mode line
SELECT * FROM students;

Dies zeigt jede Schülerinformation in separaten Zeilen an, was nützlich sein kann, wenn man viele Spalten hat.

.mode csv
SELECT * FROM students;

Dies gibt die Daten in einem Format aus, das einfach in Tabellenkalkulationssoftware wie Excel importiert werden kann.

Der .header Befehl

Ein weiterer nützlicher Formatierungsbefehl ist .header. Wenn er auf ON gesetzt ist, zeigt er die Spaltennamen an der Oberseite Ihrer Ausgabe an.

.header ON
.mode column
SELECT * FROM students;

Dies zeigt Ihre Daten in Spalten mit Überschriften an, was esKristallklar macht, was jede Datenstelle darstellt.

Die sqlite_master Tabelle

Nun, lassen Sie uns hinter die Kulissen schauen und herausfinden, wie SQLite all unsere Tabellen und Indizes im Auge behält. Es doet dies mit einer speziellen Tabelle namens sqlite_master.

Um den Inhalt von sqlite_master anzuzeigen, können Sie diesen Befehl verwenden:

SELECT * FROM sqlite_master;

Dies zeigt Ihnen alle Tabellen und Indizes in Ihrer Datenbank zusammen mit der SQL-Anweisung, mit der sie erstellt wurden. Es ist, als ob man eine Karte seiner gesamten Datenbank hat!

Hier ist, was jede Spalte in sqlite_master bedeutet:

Spalte Beschreibung
type Der Typ des Objekts (Tabelle, Index, Ansicht oder Trigger)
name Der Name des Objekts
tbl_name Die Tabelle, mit der das Objekt in Verbindung steht
rootpage Die Seitennummer der Wurzelseite für dieses Objekt
sql Die SQL-Anweisung, die verwendet wurde, um das Objekt zu erstellen

Das Verständnis von sqlite_master ist wie das Besitzen von Röntgenblick für Ihre Datenbank. Es lässt Sie sehen, wie alles strukturiert und miteinander verbunden ist.

Schlussfolgerung

Und da haben Sie es, Leute! Wir haben die Grundlagen der SQLite-Befehle durchlaufen, gelernt, wie man die Ausgabe hübsch formatiert und einen Blick hinter die Kulissen der sqlite_master-Tabelle geworfen. Denken Sie daran, dass das Lernen von SQLite wie das Fahrradfahren ist - am Anfang mag es wackelig sein, aber mit Übung werden Sie im Handumdrehen durch Ihre Datenbanken rasen!

Weiterspielen, weiterabfragen und vor allem: Spaß an den Daten haben. Bereit sich in Ihrer Freundesgruppe zum SQLite-Zauberer zu entwickeln, der alle mit seiner Datenbank-Zauberei beeindruckt. Frohes Coden!

Credits: Image by storyset