SQLite-Tutorial: Alles, was Sie wissen müssen



Dieses SQLite-Tutorial hilft Ihnen zu verstehen, wie sich SQLite von anderen relationalen Datenbanksystemen und allen grundlegenden Befehlen unterscheidet

Wenn Sie mit relationalen Datenbanksystemen gearbeitet haben, haben Sie wahrscheinlich schon von gängigen Datenbanksystemen wie z MySQL , Server oder PostgreSQL . SQLite ist ein weiteres äußerst nützliches RDBMS, das sehr einfach einzurichten und zu betreiben ist. Es hat auch viele unterschiedliche Funktionen gegenüber anderen relationalen Datenbanken. In diesem SQLite-Lernprogramm werden grundlegende Konzepte vermittelt, die Sie mithilfe umfangreicher praktischer Übungen kennen müssen.

Die in diesem Artikel behandelten Themen sind:





SQLite-Tutorial: Was ist SQLite?

Hier ist die Industriestandarddefinition von SQLite:

SQLite ist ein eigenständiges, eigenständiges transaktionsrelationales Datenbankmodul ohne Konfiguration und ohne Konfiguration, das in eine Anwendung eingebettet werden kann.

Sie können überlegen SQLite Als ein ' Feuerzeug Version eines anderen komplexen RDBMS (Oracle, usw.), für die das Datenbankmodul konfiguriert ist unabhängige Verarbeitung (In-Process-Bibliothek) d.h. Serverlos, in sich geschlossen, ohne Konfiguration und transaktional . Es ist bekannt für seine Portabilität, Zuverlässigkeit und starke Leistung auch in Umgebungen mit wenig Speicher. Im Gegensatz zu anderen RDBMS, bei denen die Client-Server-DB-Engine konfiguriert ist, ist SQLite eine beliebte Wahl als eingebettete Datenbank für die lokale / Client-Speicherung in Endprogrammen oder -anwendungen.



Funktionen von SQLite

SQLite bietet viele verschiedene Funktionen wie:

  • Serverlos: Die meisten SQL-Datenbanken werden als separater Serverprozess implementiert, SQLite verfügt jedoch nicht über einen separaten Serverprozess. Es ist eine serverlose Datenbank-Engine. Es liest und schreibt direkt in normale Festplattendateien.
  • Null-Konfiguration: Eserfordert keine Konfiguration, um es zum Laufen zu bringen. Dies bedeutet, dass kein Serverprozess wie in einem Client / Server-System gestartet, gestoppt oder konfiguriert werden muss.
  • Manifest Typing: SQLite verwendet die Manifest-Typisierung, mit der eine beliebige Menge eines beliebigen Datentyps in einer beliebigen Spalte gespeichert werden kann, unabhängig vom deklarierten Datentyp der Spalte. Beachten Sie, dass es bestimmte Ausnahmen von dieser Regel gibt.
  • Leicht: Wie der Name andeutetist die SQLite-Bibliothek sehr leicht. Obwohl der verwendete Speicherplatz je nach installiertem System unterschiedlich ist, kann er weniger als 600 KB Speicherplatz beanspruchen.
  • Tragbar: Im Gegensatz zu anderen DBMS kann einDie gesamte SQLite-Datenbank wird in einer einzigen Datei gespeichert.Diese Datei kann sehr einfach über Wechselmedien oder das Dateiübertragungsprotokoll freigegeben werden.
  • Vielfältige Auswahl: Viele Programmiersprachen bieten Bindungen für SQLite, einschließlich , , C # , , , Rubin , , und viele mehr.
  • Kostenlos: SQLite ist kostenlos und Open Source. Für die Arbeit mit SQLite ist keine kommerzielle Lizenz erforderlich.

Wie oben aufgeführt SQLiteist bekannt für seine Null-Konfiguration, was bedeutet, dass keine komplexe Einrichtung oder Verwaltung wirklich erforderlich ist. Im nächsten Teil dieses SQLite-Tutorials erfahren Sie, wie Sie SQLite auf Ihrem System installieren.

SQLite-Lernprogramm: Installieren von SQLite unter Windows

Die folgenden Schritte sind:



Schritt 1: Gehe zum offizielle SQLite Website und klicken Sie auf den entsprechenden Link zum Herunterladenvorkompilierte Binärdateien.

Schritt 2: Laden Sie die SQLite-Befehlszeilen-Zip-Datei herunter (hier: sqlite-tools-win32-x86-3270200.zip) und erweitern Sie diese Dateien in einem Ordner Ihrer Wahl.

Dieses SQLite-Befehlszeilentool enthält die folgenden SQLite-Produkte

  • SQLite-Kern : Der SQLite-Kern enthält das eigentliche Datenbankmodul und die öffentliche API.
  • SQLite3-Befehlszeilentool : Die sqlite3-Anwendung ist ein Befehlszeilentool, das auf dem SQLite-Kern basiert.
  • Tcl-Erweiterung : Diese Bibliothek ist im Wesentlichen eine Kopie des SQLite-Kerns mit den angehefteten Tcl-Bindungen.
  • SQLite-Analysetool : Das SQLite-Analysetool wird zum Analysieren von Datenbankdateien verwendet.

Schritt 3: Danach ist das Starten der SQLite-Befehlszeile so einfach wie das Klicken auf die sqlite3-Anwendung, wodurch die Befehlszeile angezeigt wird.

Wenn Sie weiter testen möchten, geben Sie einfach ein .Hilfe Befehl von SQLite> Eingabeaufforderung, um alle verfügbaren Befehle in anzuzeigen sqlite3 wie unten gezeigt.

Hinweis: Standardmäßig verwendet eine SQLite-Sitzung die speicherinterne Datenbank. Daher werden alle Änderungen nach Beendigung der Sitzung gelöscht.

Einfach genug, oder? Beginnen wir dann mit SQLite-Befehlen.

SQLite-Lernprogramm: SQLite-Befehle

In diesem Abschnitt des SQLite-Lernprogramms werden grundlegende SQL-Anweisungen vorgestellt, die Sie mit SQLite verwenden können.

Hinweis: SQLite-Befehle enden mit einem Semikolon (). Es teilt SQLite mit, dass Ihr Befehl vollständig ist und ausgeführt werden sollte.Sie können Ihren Befehl auch auf mehrere Zeilen verteilen und das Semikolon in der letzten Zeile verwenden.

Datenbankbefehle

Dieser Abschnitt besteht aus den Befehlen, mit denen Sie mit Ihrer Datenbank umgehen können. Die Befehle sind:

  • SQLite-Datenbank erstellen

SQLite verwendet die Anweisung CREATE DATABASE nicht wie in anderen relationalen Datenbankverwaltungssystemen wie z MySQL , SQL Server usw. Um eine neue Datenbank in SQLite zu erstellen, geben Sie einfach sqlite3 gefolgt vom Namen der Datei ein, die Sie für die Datenbank verwenden möchten. T.Der folgende Code erstellt eine Datenbankdatei mit dem Namen StudentDetails.db:

Was ist ein Scannerobjekt?

Beispiel

sqlite3 StudentDetails.db sqlite> .databases main: D: sqliteStudentDetails.db
  • SQLite Attach Database

Wenn Sie über mehrere Datenbanken verfügen, können Sie jeweils nur eine verwenden. In SQLite wird die Anweisung ATTACH DATABASE verwendet, um eine bestimmte Datenbank für die aktuelle Verbindung anzuhängen. EINNach diesem Befehl werden alle SQLite-Anweisungen unter der angehängten Datenbank ausgeführt.

Beispiel

sqlite> ATTACH DATABASE 'DepartmentDetails.db' AS 'Department' sqlite> .databases main: D: sqliteStudentDetails.db Abteilung: D: sqliteDepartmentDetails.db
  • SQLite Detach Database

In SQLite wird die Anweisung DETACH DATABASE verwendet, um die Datenbank mit dem Aliasnamen von einer Datenbankverbindung zu trennen, die zuvor mithilfe der Anweisung ATTACH angehängt wurde. Wenn dieselbe Datenbankdatei mit mehreren Aliasnamen angehängt wurde, trennt dieser Befehl nur den angegebenen Namen und der Rest des Anhangs bleibt weiterhin bestehen.Die Datenbanken in der speicherinternen oder temporären Datenbank werden vollständig zerstört und der Inhalt geht verloren.

Beispiel

sqlite> .databases main: D: sqliteStudentDetails.db Abteilung: D: sqliteDepartmentDetails.db Student: D: sqliteStudentDetails.db DeptInformation: D: sqliteDepartmentDetails.db sqlite> DETACH DATABASE 'Department' sqlite> Student: D: sqliteStudentDetails.db DeptInformation: D: sqliteDepartmentDetails.db

Tabellenbefehle

Hier erfahren Sie, wie Sie mit Tabellen umgehen, wenn Sie SQLite verwenden.

  • SQL Create Table

In SQLite wird die Anweisung CREATE TABLE verwendet, um eine neue Tabelle zu erstellen. Beim Erstellen der Tabelle müssen Sie die Tabelle benennen und ihre Spalten- und Datentypen für jede Spalte definieren.

Syntax:

CREATE TABLE Tabellenname (Spalte1 Spaltentyp [Einschränkungen] Spalte2 Spaltentyp [Einschränkungen] [.....])

Beispiel

TABELLE ERSTELLEN StudentInfo (ID INT PRIMARY KEY NICHT NULL, NAME TEXT NICHT NULL, ALTER INT NICHT NULL, ADRESSE CHAR (50), DEPARTMENTID INTEGER NICHT NULL, TELEFONTEXT STANDARD 'UNBEKANNT', AUSLÄNDISCHER SCHLÜSSEL (DEPARTMENTID) REFERENZ

Sie können überprüfen, ob die Tabelle erstellt wurde oder nicht .tabellen Befehl wie unten gezeigt. Beachten Sie, dass ich bereits eine Tabelle mit dem Namen erstellt habe DepartmentInfo Dabei ist DeptID der Primärschlüssel.Die Abteilungstabelle unterliegt einer Fremdschlüsseleinschränkung für die Schülertabelle.

sqlite> .tables StudentInfo Kontakte Emp_Master
  • SQLite Drop Table

In SQLite können Sie mit der Anweisung DROP TABLE eine Tabelle aus der SQLite-Datenbank entfernen oder löschen. Sobald die Tabelle gelöscht wurde, werden alle darin enthaltenen Daten dauerhaft aus der Datenbank entfernt. Alle zugehörigen Indizes und Trigger werden ebenfalls entfernt. Wenn für diese Tabelle eine Fremdschlüsseleinschränkung aktiviert ist, wird diese für jede Zeile in der Tabelle gleichwertig entfernt, und alle mit der Tabelle verknüpften Trigger werden ebenfalls gelöscht.

Syntax

DROP TABLE [IF EXISTS] Tabellenname

Beispiel

DROP TABLE Abteilungsfehler: Keine solche Tabelle: Abteilung DROP TABLE Firma sqlite> .tables StudentInfo

Hinweis: WENN EXISTIERT, ist eine optionale Klausel. Wenn angegeben, löst die Anweisung DROP TABLE keinen Fehler aus, wenn eine der Tabellen nicht vorhanden ist.

Auch gibt es eine SQLite Alter Table-Anweisung , die wir in den nächsten Abschnitten dieses Artikels verstehen werden. Nachdem wir eine Tabelle erstellt haben, sehen wir uns an, wie Sie die Daten einfügen, löschen und ändern.

SQLite-Lernprogramm: CRUD-Operationen

  • SQLite Insert Query

Nach dem Erstellen der Tabelle können mit dem Befehl SQLite Insert Into neue Zeilen in der angegebenen Tabelle erstellt werden. Es gibt zwei sinnvolle Formen der SQLite-Einfügeanweisung. Das erste Formular verwendet eine VALUES-Klausel, um eine Liste der einzufügenden Werte anzugeben.

Syntax

INSERT INTO TABLE_NAME [(Spalte1, Spalte2, Spalte3, ... SpalteN)] VALUES (Wert1, Wert2, Wert3, ... WertN)

Beispiel

INSERT IN StudentInfo (ID, NAME, ALTER, ADRESSE, ABTEILUNGSID, TELEFON) WERTE (1, 'Dean', 20, 'California', 2, '934 *******')

Ausgabe

SELECT * from StudentInfo ID NAME ALTER ADRESSE DEPARTMENTID TELEFON ---------- ---------- ---------- ---------- ---------- ---------- 1 Dean 20 California 2 934 *******

Hier wird eine einzelne neue Zeile erstellt und jeder Wert in seiner jeweiligen Spalte aufgezeichnet. Beachten Sie, dass beide Listen die haben müssen gleich Anzahl der Teile. Hier die Liste der Spalten es ist optional. Wir können auch Daten in die Tabelle einfügen ohne die Liste der Spalten anzugeben .

Beispiel

INSERT IN StudentInfo VALUES (2, 'SAM', 22, 'Texas', 2, '976 *******')

Ausgabe

SELECT * from StudentInfo ID NAME ALTER ADRESSE DEPARTMENTID TELEFON ---------- ---------- ---------- ---------- ---------- ---------- 1 Dean 20 California 2 934 ******* 2 SAM 22 Texas 2 976 *******

SQLite bietet auch eine Funktion an Fügen Sie mehrere Zeilen ein in einer einzelnen INSERT-Anweisung. Die Syntax ist wie folgt.

Beispiel

INSERT IN StudentInfo VALUES (3, 'John', 23, 'Norway', 1, '923 *******'), (4, 'Mitch', 22, 'Houston', 3, '934 ** ***** ')

Ausgabe

Wählen Sie * aus StudentInfo 1 | Dean | 20 | California | 2 | 934 ******* 2 | SAM | 22 | Texas | 2 | 976 ******* 3 | John | 23 | Norway | 1 | 923 ******* 4 | Mitch | 22 | Houston | 3 | 934 *******

Wie Sie sehen können, ist das Format der Ausgabe dem vorherigen nicht ganz ähnlich. Wie ändern Sie das Ausgabeformat in SQLite? Formatieren wir die Ausgabe so, dass unsere Ergebnisse etwas besser lesbar sind.

  • Formatieren

Mit .mode können Sie den Ausgabemodus ändern. Das obige Beispiel verwendet .Modus Liste, die die Ergebnisse als Liste anzeigt. Auch können Sie verwenden .headers Anweisung, um anzugeben, ob Spaltenüberschriften angezeigt werden sollen oder nicht. Sobald Sie die Änderungen vorgenommen haben, können Sie die Einstellung mit anzeigen .Show Befehl.

Beispiel

sqlite> .mode 'column' sqlite> .headers on sqlite> .show echo: off eqp: off EXPLAIN: Auto-Header: on mode: column nullvalue: '' output: stdout colseparator: '|' Zeilentrenner: 'n' Statistiken: off width: Dateiname: StudentDetails.db

Ausgabe

SELECT * FROM StudentInfo ID NAME ALTER ADRESSE ABTEILUNG TELEFON ---------- ---------- ---------- ---------- ---------- ---------- 1 Dean 20 California 2 934 ******* 2 SAM 22 Texas 2 976 ******* 3 John 23 Norway 1 923 ******* 4 Mitch 22 Houston 3 934 *******
  • SQLite Select Query

In SQLite wird die Select-Anweisung verwendetum Daten aus einer Tabelle abzurufen, die Daten in Form einer Ergebnistabelle zurückgibt. Diese Ergebnistabellen werden auch als Ergebnis bezeichnet setzt. Mit der SQLite-Select-Anweisung können wir einfache Berechnungen oder mehrere Ausdrücke basierend auf unseren Anforderungen durchführen.Wir haben bereits zuvor eine SELECT-Anweisung verwendet, als wir Daten eingefügt haben.

Syntax

SELECT [ALL | DISTINCT] Ergebnis [FROM Tabellenliste] [WHERE Ausdruck]
  • UNTERSCHEIDLICH - Wenn wir in einer select-Anweisung ein bestimmtes Schlüsselwort verwenden, werden nur unterschiedliche Datenzeilen zurückgegeben.
  • ALLE - Wenn wir in einer select-Anweisung das Schlüsselwort ALL verwenden, werden alle Datenzeilen zurückgegeben, auch wenn sie dupliziert wurden.
  • FROM Tabellenliste - Es ist eine Liste von Tabellen, aus denen Sie Daten abrufen möchten.
  • WO Ausdruck - Der WHERE-Ausdruck wird verwendet, um unsere benutzerdefinierten Bedingungen zu definieren, um die erforderlichen Daten aus Tabellen abzurufen.

Beispiel 1

SELECT ID, NAME FROM StudentInfo WHERE AGE<21

Ausgabe

ID NAME ---------- ---------- 1 Dean

Beispiel2

Wählen Sie NAME FROM StudentInfo WHERE DEPARTMENTID = (SELECT DeptID FROM DepartmentInfo WHERE DeptName = 'Psychology')

Ausgabe

// holt Leute aus der Abteilung, deren ID 2 NAME ist ---------- Dean SAM
  • SQLite-Update-Abfrage

In SQLite kann die UPDATE-Anweisung verwendet werden, um die vorhandenen Datensätze in einer Tabelle zu ändern.Die WHERE-Klausel von SQLite kann verwendet werden, um genau anzugeben, welche Zeilen aktualisiert werden sollen. Abhängig von den Filterbedingungen, die von der WHERE-Klausel angewendet werden, können Sie problemlos alle Zeilen, einige oder keine Zeilen aktualisieren.

Teilzeichenfolge im SQL Server-Beispiel

Syntax

UPDATE Tabellenname SET Spalte1 = Wert1, Spalte2 = Wert2 ...., SpalteN = WertN WO [Bedingung]

Beispiel

UPDATE StudentInfo SET DEPARTMENTID = 4 WHERE ID = '2'

Ausgabe

SELECT * FROM StudentInfo ID NAME ALTER ADRESSE DEPARTMENTID TELEFON ---------- ---------- ---------- ---------- ------------ ---------- 1 Dean 20 California 2 934 ******* 2 SAM 22 Texas 4 976 ******* 3 John 23 Norwegen 1 923 ******* 4 Mitch 22 Houston 3 934 *******
  • SQLite-Löschabfrage

In SQLite kann die DELETE-Anweisung verwendet werden, um den Datensatz aus der Tabelle zu löschen. Abhängig von den Filterbedingungen, die von der WHERE-Klausel angewendet werden, können Sie problemlos alle Zeilen, einige oder keine Zeilen löschen.

Beispiel

DELETE FROM DepartmentInfo WHERE DeptName = 'Wissenschaft'

Ausgabe

SELECT * FROM DepartmentInfo DeptID DeptName ---------- ----------- 1 Mathematik 2 Psychologie 3 Sport 4 Musik

Wenn Sie versuchen, einen Datensatz zu löschen, auf den ein Fremdschlüssel verweist, wird eine Fehlermeldung angezeigt. Sie müssen zuerst die Fremdschlüsseldatensätze löschen, bevor Sie den Primärschlüsseldatensatz löschen. Versuchen wir, die Wissenschaft der Abteilung zu löschen.

Beispiel

DELETE FROM DepartmentInfo WHERE DeptName = 'Music' Fehler: Die Einschränkung FOREIGN KEY ist fehlgeschlagen

Wir müssen also die Fremdschlüsseldatensätze löschen, bevor wir den Primärschlüssel löschen.

DELETE FROM StudentInfo WHERE DEPARTMENTID = 4 sqlite> DELETE FROM DepartmentInfo WHERE DeptName = 'Musik' sqlite> SELECT * FROM DepartmentInfo DeptID DeptName ---------- ----------- 1 Mathematik 2 Psychologie 3 Sport SELECT * FROM StudentInfo ID NAME ALTER ADRESSE DEPARTMENTID TELEFON ---------- ---------- ---------- ------- --- ------------ ---------- 1 Dean 20 California 2 934 ******* 3 John 23 Norway 1 923 ****** * 4 Mitch 22 Houston 3 934 *******

Jetzt wissen Sie, wie Sie die Datensätze in der SQLite-Datenbanktabelle bearbeiten. In diesem SQLite-Tutorial-Blog werden verschiedene Klauseln und Bedingungen erläutert, auf die Sie in SQLite am häufigsten stoßen.

SQLite-Klauseln / Bedingungen

Bevor Sie mit Klauseln beginnen, finden Sie hier die vollständige Syntax der SELECT-Anweisung in SQLite.

Syntax

SELECT [ALL | DISTINCT] Ergebnis [FROM Tabellenliste] [WHERE Ausdruck] [GROUP BY Ausdruck Liste] [HAVING Ausdruck] [Compound-Op Select] * [ORDER BY Sort-Ausdruck Liste] [LIMIT Integer [(OFFSET |,) Integer ]]

Hinweis: Ich habe die Tabellen StudentInfo und DepartmentInfo wie unten gezeigt aktualisiert.

// Schülertabelle ID NAME ALTER ADRESSE ABTEILUNGSTELEFON ---------- ---------- ---------- ---------- ---------- ------------ ---------- 1 Dean 20 California 2 934 ******* 3 John 23 Norway 1 923 ******* 4 Mitch 22 Houston 3 934 ******* 2 SAM 22 Texas 4 976 ******* 5 Johny 23 Norway 2 945 ******* 6 Robin 23 Norway 2 UNBEKANNT // Abteilungsdetails DeptID DeptName - --------- ----------- 1 Mathematik 2 Psychologie 3 Sport 4 Musik 5 Wissenschaft
  • SQLite WO

In SQLite wird die WHERE-Klausel verwendet, um der SELECT-Anweisung Einschränkungen aufzuerlegen, indem eine oder mehrere Bedingungen definiert werden, um die erforderlichen Daten aus Tabellen in der Datenbank abzurufen.Wenn die angegebene Bedingung erfüllt oder wahr ist, wird ein bestimmter Wert aus der Tabelle zurückgegeben. Wie Sie zuvor gesehen haben, wird die WHERE-Klausel nicht nur in der SELECT-Anweisung verwendet, sondern auch in der UPDATE-, DELETE-Anweisung usw.

Beispiel

WÄHLEN SIE DEN NAMEN AUS StudentInfo WHERE AGE = 23NAME ---------- John Johny Robin

In SQLite gibt es eine Reihe von Vergleichsoperatoren, die mit der WHERE-Klausel verwendet werden können.

  • SQLite GROUP BY

In SQLite wird die GROUP BY-Klausel verwendet, um Daten in einer einzelnen Zeile zusammenzufassen, in der der Wert einer oder mehrerer angegebener Spalten wiederholt wird. Diese Klausel wird mit der WHERE-Klausel in der SELECT-Anweisung verwendet und steht vor der ORDER BY-Klausel.

Syntax

SELECT Ergebnis FROM [Tabellenliste] GROUP BY [Ausdrucksliste]
NAME, ADRESSE AUS StudentInfo GROUP NACH NAME NAME ADRESSE AUSWÄHLEN ---------- ---------- Dean California John Norwegen Johny Norwegen Mitch Houston Robin Norwegen SAM Texas

Beachten Sie, dass der Gruppierungsprozess zwei Schritte umfasst. Zunächst wird der GROUP BY-Ausdruck verwendet, um Tabellenzeilen in verschiedenen Gruppen anzuordnen. Sobald die Gruppen definiert sind, definiert die SELECT-Anweisung, wie diese Gruppen in eine einzelne Zeile reduziert werden.

  • SQLite ORDER BY

Im Allgemeinen speichern SQLite-Tabellen Daten in nicht angegebener Reihenfolge und geben Datensätze in derselben nicht angegebenen Reihenfolge zurück, während Daten mit der SQLite-Select-Anweisung abgerufen werden. In solchen Fällen können Sie die ORDER BY-Klausel verwenden, um Spaltendatensätze entweder in aufsteigender oder absteigender Reihenfolge zu sortieren. Im folgenden Beispiel habe ich die Daten basierend auf der Adresse in absteigender Reihenfolge gruppiert und sortiert.

Syntax

SELECT-Ausdrücke aus der Tabellenliste [WHERE-Bedingungen] ORDER BY Spalte1, Spalte2, ... [ASC | DESC]

Beispiel

ADRESSE AUSWÄHLEN, ZÄHLEN (ADRESSE) AUS DER StudentInfo-GRUPPE NACH ADRESSE BESTELLEN NACH ADRESSE DESC ADRESSZAHL (ADRESSE) ---------- -------------- Texas 1 Norwegen 3 Houston 1 Kalifornien 1
  • SQLite HAVING BY

In SQLite wird die HABEN Klausel ist identisch mit WO Klausel. Die HAVING-Klausel ist eine weitere Bedingung, die angewendet wird, nachdem die Aggregation zusammen mit der group by in select-Anweisung erfolgt. Im Allgemeinen in SQLite, WO Klausel wird verwendet, um eine Bedingung auf einzelne Elemente in einer Tabelle und anzuwendendas HABEN Klausel wird verwendet, um Filterbedingungen basierend auf den durch die Group By-Klausel erstellten Gruppen hinzuzufügen.

Beispiel

ADRESSE, COUNT (ADRESSE) AUS DER StudentInfo-GRUPPE NACH ADRESSE MIT COUNT (*)> 1 ADRESSZAHL (ADRESSE) AUSWÄHLEN ---------- -------------- Norwegen 3
  • SQLite-Limit-Klausel

In SQLite wird die LIMIT-Klausel verwendet, um ein Limit für die von der select-Anweisung zurückgegebenen Datensätze festzulegen. Betrachten wir ein Beispiel, um das Konzept zu verstehen.

Syntax

SELECT-Ausdrücke FROM Tabellenliste [WHERE-Bedingungen] LIMIT number_rows OFFSET offset_value

Beispiel

WÄHLEN SIE NAME, ADRESSE AUS StudentInfo LIMIT 4 OFFSET 2 NAME ADRESSE ---------- ---------- Mitch Houston SAM Texas Johny Norwegen Robin Norwegen

OFFSETist optional und definiert, wie viele Zeilen am Anfang der Ergebnismenge basierend auf übersprungen werden sollen offset_value .

  • SQLite AND & OR

In SQLite werden die AND & OR-Operatoren verwendet, um mehrere Bedingungen für das Auswählen, Einfügen, Aktualisieren und Löschen von Anweisungen basierend auf unseren Anforderungen auszuführen. Der SQLite AND-Operator gibt Zeilen oder Datensätze zurück, die die mit dem AND-Operator definierten Bedingungen erfüllen.

Beispiel 1

WÄHLEN SIE DEN NAMEN AUS StudentInfo, WO ALTER = 22 UND ADRESSE = 'Texas' NAME ---------- SAM

Die ODER-Bedingung wird verwendet, um mehrere Bedingungen in SQLite-Anweisungen zu definieren, und gibt Zeilen oder Datensätze aus der Anweisung zurück, wenn eine der Bedingungen erfüllt ist.

Beispiel2

WÄHLEN SIE DEN NAMEN AUS StudentInfo WO (ALTER = 22 UND ADRESSE = 'Norwegen') ODER ADRESSE = 'Norwegen' NAME ---------- John Johny Robin
  • SQLite GLOB Operator

In SQLite wird mit dem GLOB-Operator überprüft, ob der angegebene Zeichenfolgenwert einem bestimmten Muster entspricht oder nicht. Falls der Zeichenfolgenwert mit dem Musterwert übereinstimmt, wird er zurückgegeben wahr und es ähnelt dem LIKE-Operator. Auch GLOB ist Groß- und Kleinschreibung beachten.

Syntax

SELECT * FROM Tabellenname WHERE Spaltenname GLOB 'Suchausdruck'

Beispiel

SELECT * FROM StudentInfo WHERE NAME GLOB 'Joh *' ID NAME ALTER ADRESSE DEPARTMENTID TELEFON ---------- ---------- ---------- --- ------- ------------ ---------- 3 John 23 Norwegen 1 923 ******* 5 Johny 23 Norwegen 2 945 ** *****
  • SQLite Distinct

In SQLite durchsucht das Schlüsselwort DISTINCT die Ergebnismenge der SELECT-Anweisung und entfernt doppelte Zeilen. Außerdem werden NULL-Werte als Duplikate betrachtet. Wenn wir also die DISTINCT-Klausel mit einer Spalte verwenden, die NULL-Werte enthält, wird nur eine Zeile eines NULL-Werts beibehalten. Wenn Sie DISTINCT für mehrere Spalten anwenden, gibt die Anweisung jede eindeutige Kombination von zurück coulnm1 und Spalte2.

Beispiel

WÄHLEN SIE UNTERSCHIEDLICHES ALTER VOM StudentInfo-ALTER AUS ---------- 20 23 22
  • SQLite IN-Operator

In SQLite wird der IN-Operator verwendet, um zu bestimmen, ob der angegebene Wert mit einer Liste der angegebenen Werte oder dem von der Unterabfrage zurückgegebenen Ergebnis übereinstimmt.

Beispiel

WÄHLEN SIE DEN NAMEN AUS StudentInfo AUS, WO ADRESSE IN ('Texas', 'Houston') NAME ---------- Mitch SAM
  • SQLite UNION & UNION ALL

In SQLite wird der UNION-Operator verwendet, um die Ergebnismengen von zu kombinieren 2 oder mehr SELECT-Anweisungen und es werden doppelte Zeilen zwischen den verschiedenen SELECT-Anweisungen entfernt. Denken Sie daran, dass die SELECT-Anweisungen, die wir mit dem UNION-Operator verwendet haben, dieselbe Anzahl von Feldern in den Ergebnismengen mit ähnlichen Datentypen haben müssen.

Syntax

SELECT Ausdruck1, Ausdruck2, ... Ausdruck_n FROM Tabellen [WHERE Bedingungen] UNION / UNION ALL SELECT Ausdruck1, Ausdruck2, ... Ausdruck_n FROM Tabellen [WHERE Bedingungen]

Beispiel

SELECT DEPARTMENTID FROM StudentInfo UNION SELECT DeptId FROM DepartmentInfo ORDER BY DEPARTMENTID ASC DEPARTMENTID ------------ 1 2 3 4 5

Der Operator UNION ALL wird verwendet, um die Ergebnismengen von 2 oder mehr SELECT-Anweisungen zu kombinieren, und gibt alle Zeilen einschließlich der Duplikate zurück.

Beispiel

SELECT DEPARTMENTID FROM StudentInfo UNION ALL SELECT DeptId FROM DepartmentInfo ORDER BY DEPARTMENTID ASC DEPARTMENTID ------------ 1 1 2 2 2 2 3 3 4 4 5

Damit haben wir die grundlegendsten Befehle behandelt, die Sie möglicherweise bei der Arbeit mit SQLite verwenden müssen. Schauen wir uns in diesem SQLite-Lernprogramm die Join-Anweisung in SQLite an.

Tritt SQLite bei

In SQLite sind JoinsWird verwendet, um Datensätze aus zwei oder mehr Tabellen in einer Datenbank zu kombinieren und Datensätze basierend auf unseren Anforderungen abzurufen. D.In SQLite sind verschiedene Arten von JOINS verfügbar:

  • Inner Join - -INNER JOIN wird verwendet, um nur übereinstimmende Datensätze aus mehreren Tabellen basierend auf den in SQLite-Anweisungen definierten Bedingungen zu kombinieren und zurückzugeben.
  • Äußere Verbindung - -SQLite Outer Join wählt übereinstimmende Zeilen aus mehreren Tabellen genauso aus wie Inner Join und einige andere Zeilen außerhalb der Beziehung.In einfachen Worten können wir SQLite sagenOUTER JOINist eine Ergänzung vonINNER JOIN . Im Allgemeinen gibt es im SQL-Standard drei Arten von Outer Joins: LEFT, RIGHT und FULL Outer Joins. SQLite unterstützt jedoch nur LEFT OUTER JOIN.
  • Cross Join - -Es wird verwendet, um das kartesische Produkt von Zeilen zu erhaltenindem jede Zeile der ersten Tabelle mit jeder Zeile der zweiten Tabelle abgeglichen wird.
  • Selbst beitreten - Eswird verwendet, um dieselbe Tabelle mit sich selbst zu verbinden. Um Self Join verwenden zu können, müssen unterschiedliche Aliasnamen für dieselbe Tabelle erstellt werden, um Operationen basierend auf unseren Anforderungen auszuführen.

Das Konzept ähnelt dem anderer relationaler Datenbanksysteme wie SQL. Weitere Informationen finden Sie in diesem Artikel unter .

Damit haben wir die grundlegenden SQLite-Befehle behandelt. Fortgeschrittene Konzepte werden hier nicht behandelt. Seien Sie also gespannt auf einen weiteren Artikel über erweiterte SQLite-Konzepte. Trotz all der guten Funktionen, die SQLite zu bieten hat, hat es auch einige Nachteile.

SQLite Tutorial: Nachteile von SQLite

Nachfolgend sind die Nachteile der Verwendung von SQLite aufgeführt:

  • Es funktioniert nicht gut in der Client / Server-Architektur.
  • Eine SQLite-Datenbankgröße ist in den meisten Fällen auf 2 GB begrenzt.
  • SQLite hat RIGHT OUTER JOIN und FULL OUTER JOIN nicht implementiert. Mit SQLite können wir nur LEFT OUTER JOIN implementieren.
  • Ansichten in SQLite sind schreibgeschützt. Wir können keine DML-Anweisungen (Einfügen, Aktualisieren und Löschen) mit Ansichten verwenden.
  • Wir können GRANT- und REVOKE-Anweisungen nicht mit SQLite verwenden.

Damit beenden wir dieses SQLite-Tutorial.

Wenn Sie mehr darüber erfahren möchten MySQL Lernen Sie diese relationale Open-Source-Datenbank kennen und sehen Sie sich unsere an Dies beinhaltet ein von Lehrern geführtes Live-Training und praktische Projekterfahrung. Diese Schulung hilft Ihnen dabei, MySQL gründlich zu verstehen und das Thema zu beherrschen.

Hast du eine Frage an uns? Bitte erwähnen Sie es im Kommentarbereich dieses SQLite-Tutorials und ich werde mich bei Ihnen melden.