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.