30 Beispiele für SQL-Abfragen

30 Beispiele Fur Sql Abfragen



Die vollständige Form von SQL ist die Sprache der strukturierten Abfragen. Es ist ein sehr nützliches Werkzeug, um auf die Struktur und die Daten der Datenbank zuzugreifen oder diese zu ändern. Viele Anwendungen benötigen die Datenbank, um die notwendigen Daten dauerhaft in einem strukturierten Format in einer Datenbank zu speichern. MySQL, Oracle, SQL Server usw. sind beliebte Datenbanken zum Speichern der Daten der Anwendung. Sie sind wichtig, um die Grundlagen von SQL zu erlernen und auf den Inhalt der Datenbank zuzugreifen oder ihn zu ändern. Die grundlegende Verwendung der SQL-Anweisungen in einer MariaDB-Datenbank wird in diesem Tutorial anhand von 30 SQL-Abfragebeispielen gezeigt.

Voraussetzungen

Sie müssen den Datenbankserver mit dem Client installieren, bevor Sie die Beispiele in diesem Tutorial üben können. In diesem Tutorial werden der MariaDB-Datenbankserver und -Client verwendet.

1. Führen Sie die folgenden Befehle aus, um das System zu aktualisieren:







$ sudo apt-get update

2. Führen Sie den folgenden Befehl aus, um den MariaDB-Server und -Client zu installieren:



$ sudo apt-get install mariadb-server mariadb-client

3. Führen Sie den folgenden Befehl aus, um das Sicherheitsskript für die MariaDB-Datenbank zu installieren:



$ sudo mysql_secure_installation

4. Führen Sie den folgenden Befehl aus, um den MariaDB-Server neu zu starten:





$ sudo /etc/init.d/mariadb neu starten

6. Führen Sie den folgenden Befehl aus, um sich beim MariaDB-Server anzumelden:

$ sudo mariadb -u root -p

Liste der Beispiele für SQL-Abfragen



  1. Erstellen Sie die Datenbank
  2. Erstellen Sie die Tabellen
  3. Benennen Sie den Tabellennamen um
  4. Fügen Sie der Tabelle eine neue Spalte hinzu
  5. Entfernen Sie die Spalte aus der Tabelle
  6. Fügen Sie eine einzelne Zeile in die Tabelle ein
  7. Fügen Sie mehrere Zeilen in die Tabelle ein
  8. Lesen Sie alle einzelnen Felder aus der Tabelle
  9. Lesen Sie die Tabelle, nachdem Sie die Daten aus der Tabelle gefiltert haben
  10. Lesen Sie die Tabelle, nachdem Sie die Daten basierend auf der booleschen Logik gefiltert haben
  11. Lesen Sie die Tabelle, nachdem Sie die Zeilen basierend auf dem Datenbereich gefiltert haben
  12. Lesen Sie die Tabelle, nachdem Sie sie nach den einzelnen Spalten sortiert haben.
  13. Lesen Sie die Tabelle, indem Sie den alternativen Namen der Spalte festlegen
  14. Zählen Sie die Gesamtzahl der Zeilen in der Tabelle
  15. Lesen Sie die Daten aus mehreren Tabellen
  16. Lesen Sie die Tabelle, indem Sie die einzelnen Felder gruppieren
  17. Lesen Sie die Tabelle, nachdem Sie die doppelten Werte weggelassen haben
  18. Lesen Sie die Tabelle, indem Sie die Zeilennummer begrenzen
  19. Lesen Sie die Tabelle basierend auf der Teilübereinstimmung
  20. Zählen Sie die Summe des jeweiligen Feldes der Tabelle
  21. Finden Sie die Maximal- und Minimalwerte des jeweiligen Feldes
  22. Lesen Sie die Daten zu einem bestimmten Teil eines Feldes
  23. Lesen Sie die Tabellendaten nach der Verkettung
  24. Lesen Sie die Tabellendaten nach der mathematischen Berechnung
  25. Erstellen Sie eine Ansicht der Tabelle
  26. Aktualisieren Sie die Tabelle basierend auf der jeweiligen Bedingung
  27. Löschen Sie die Tabellendaten basierend auf der jeweiligen Bedingung
  28. Alle Datensätze aus der Tabelle löschen
  29. Lass den Tisch fallen
  30. Löschen Sie die Datenbank

Erstellen Sie die Datenbank

Angenommen, wir müssen eine einfache Datenbank für das Bibliotheksverwaltungssystem entwerfen. Um diese Aufgabe zu erfüllen, muss auf dem Server eine Datenbank erstellt werden, die mehrere relationale Tabellen enthält. Nachdem Sie sich beim Datenbankserver angemeldet haben, führen Sie den folgenden Befehl aus, um eine Datenbank mit dem Namen „library“ auf dem MariaDB-Datenbankserver zu erstellen:

ERSTELLEN DATENBANK Bibliothek;

Die Ausgabe zeigt, dass die Bibliotheksdatenbank auf dem Server erstellt wird:

Führen Sie den folgenden Befehl aus, um die Datenbank vom Server auszuwählen und verschiedene Arten von Datenbankoperationen auszuführen:

VERWENDEN Bibliothek;

Die Ausgabe zeigt, dass die Bibliotheksdatenbank ausgewählt ist:

Erstellen Sie die Tabellen

Der nächste Schritt besteht darin, die erforderlichen Tabellen für die Datenbank zum Speichern der Daten zu erstellen. In diesem Teil des Tutorials werden drei Tabellen erstellt. Dies sind Bücher, Mitglieder und Borrow_info-Tabellen.

  1. In der Büchertabelle werden alle buchbezogenen Daten gespeichert.
  2. In der Mitgliedertabelle werden alle Informationen über die Mitglieder gespeichert, die das Buch aus der Bibliothek ausgeliehen haben.
  3. In der Tabelle „borg_info“ werden Informationen darüber gespeichert, welches Buch von welchem ​​Mitglied ausgeliehen wurde.

1. Bücher Tisch

Führen Sie die folgende SQL-Anweisung aus, um eine Tabelle mit dem Namen „books“ in der Datenbank „library“ zu erstellen, die sieben Felder und einen Primärschlüssel enthält. Hier ist das Feld „id“ der Primärschlüssel und der Datentyp ist int. Das Attribut auto_increment wird für das Feld „id“ verwendet. Der Wert dieses Feldes wird also automatisch erhöht, wenn eine neue Zeile eingefügt wird. Der Datentyp varchar wird zum Speichern der Zeichenfolgendaten variabler Länge verwendet. In den Feldern „Titel“, „Autor“, „Publikation“ und „ISBN“ werden die Zeichenfolgendaten gespeichert. Der Datentyp der Felder „total_copy“ und „price“ ist int. In diesen Feldern werden also die numerischen Daten gespeichert.

ERSTELLEN TISCH Bücher (
Ausweis INT AUTO_INCREMENT ,
Titel VARCHAR ( fünfzig ) ,
Autor VARCHAR ( fünfzig ) ,
Veröffentlichung VARCHAR ( 100 ) ,
isbn VARCHAR ( 30 ) ,
total_copy INT ,
Preis INT ,
PRIMÄR TASTE ( Ausweis ) ) ;

Die Ausgabe zeigt, dass die Tabelle „books“ erfolgreich erstellt wurde:

2. Mitglieder Tisch

Führen Sie die folgende SQL-Anweisung aus, um eine Tabelle mit dem Namen „members“ in der Datenbank „library“ zu erstellen, die 5 Felder und einen Primärschlüssel enthält. Das Feld „id“ verfügt wie die Tabelle „books“ über das Attribut auto_increment. Der Datentyp der anderen Felder ist Varchar. In diesen Feldern werden also die Zeichenfolgendaten gespeichert.

ERSTELLEN TISCH Mitglieder (
Ausweis INT AUTO_INCREMENT ,
Name VARCHAR ( fünfzig ) ,
Adresse VARCHAR ( 200 ) ,
Kontaktnr VARCHAR ( fünfzehn ) ,
Email VARCHAR ( fünfzig ) ,
PRIMÄR TASTE ( Ausweis ) ) ;

Die Ausgabe zeigt, dass die Tabelle „members“ erfolgreich erstellt wurde:

3. Borrow_info Tisch

Führen Sie die folgende SQL-Anweisung aus, um eine Tabelle mit dem Namen „borrow_info“ in der Datenbank „library“ zu erstellen, die 6 Felder enthält. Hier ist das Feld „id“ der Primärschlüssel, aber das Attribut auto_increment wird für dieses Feld nicht verwendet. Daher wird in dieses Feld manuell ein eindeutiger Wert eingefügt, wenn ein neuer Datensatz in die Tabelle eingefügt wird. Die Felder book_id und member_id sind Fremdschlüssel für diese Tabelle; Dies sind die Primärschlüssel der Tabellen „books“ und „members“. Der Datentyp der Felder „borg_date“ und „return_date“ ist „Datum“. Diese beiden Felder speichern also den Datumswert im Format „JJJJ-MM-TT“.

ERSTELLEN TISCH leih_info (
Ausweis INT ,
Ausleihdatum DATUM ,
book_id INT ,
Mitgliedsnummer INT ,
Rückflugdatum DATUM ,
STATUS VARCHAR ( 10 ) ,
PRIMÄR TASTE ( Ausweis ) ,
AUSLÄNDISCH TASTE ( book_id ) VERWEISE Bücher ( Ausweis ) ,
AUSLÄNDISCH TASTE ( Mitgliedsnummer ) VERWEISE Mitglieder ( Ausweis ) ) ;

Die Ausgabe zeigt, dass die Tabelle „borrow_info“ erfolgreich erstellt wurde:

Benennen Sie den Tabellennamen um

Die ALTER TABLE-Anweisung kann in den SQL-Anweisungen für mehrere Zwecke verwendet werden. Führen Sie die folgende ALTER TABLE-Anweisung aus, um den Namen der Tabelle „borrow_info“ in „book_borrow_info“ zu ändern. Als nächstes kann die SHOW tables-Anweisung verwendet werden, um zu überprüfen, ob der Name der Tabelle geändert wurde oder nicht.

ÄNDERN TISCH leih_info UMBENENNEN ZU book_borrow_info;
ZEIGEN TABELLEN ;

Die Ausgabe zeigt, dass der Tabellenname erfolgreich geändert wurde und der Name der Tabelle „borrow_info“ in „book_borrow_info“ geändert wurde:

Fügen Sie der Tabelle eine neue Spalte hinzu

Mit der ALTER TABLE-Anweisung können nach dem Erstellen der Tabelle eine oder mehrere Spalten hinzugefügt oder gelöscht werden. Die folgende ALTER TABLE-Anweisung fügt den Tabellenmitgliedern ein neues Feld mit dem Namen „status“ hinzu. Mit der DESCRIBE-Anweisung wird angezeigt, ob die Tabellenstruktur geändert wurde oder nicht.

ÄNDERN TISCH Mitglieder HINZUFÜGEN STATUS VARCHAR ( 10 ) ;
BESCHREIBEN Mitglieder;

Die Ausgabe zeigt, dass der Tabelle „members“ eine neue Spalte mit dem Namen „status“ hinzugefügt wurde und der Datentyp der Tabelle varchar ist:

Entfernen Sie die Spalte aus der Tabelle

Die folgende ALTER TABLE-Anweisung löscht das Feld „status“ aus der Tabelle „members“. Mit der DESCRIBE-Anweisung wird angezeigt, ob die Tabellenstruktur geändert wurde oder nicht.

ÄNDERN TISCH Mitglieder TROPFEN SPALTE STATUS ;
BESCHREIBEN Mitglieder;

Die Ausgabe zeigt, dass die Spalte „Status“ aus der Tabelle „Mitglieder“ entfernt wurde:

Fügen Sie eine einzelne Zeile in die Tabelle ein

Mit der INSERT INTO-Anweisung werden eine oder mehrere Zeilen in die Tabelle eingefügt. Führen Sie die folgende SQL-Anweisung aus, um eine einzelne Zeile in die Tabelle „books“ einzufügen. Hier wird das Feld „id“ in dieser Abfrage weggelassen, da es automatisch in den Datensatz eingefügt wird, wenn ein neuer Datensatz für das Auto-Inkrement-Attribut eingefügt wird. Wenn dieses Feld in der INSERT-Anweisung verwendet wird, muss der Wert NULL sein.

EINFÜGUNG HINEIN Bücher ( Titel , Autor , Veröffentlichung , isbn , total_copy , Preis )
WERTE ( „SQL in 10 Minuten“ , „Ben Forta“ , „Sams Publishing“ , '784534235' , 5 , 39 ) ;

Die Ausgabe zeigt, dass ein Datensatz erfolgreich zur Tabelle „Bücher“ hinzugefügt wurde:

Die Daten können mithilfe der SET-Klausel in die Tabelle eingefügt werden, wobei jeder Feldwert separat zugewiesen wird. Führen Sie die folgende SQL-Anweisung aus, um mithilfe der Klauseln INSERT INTO und SET eine einzelne Zeile in die Tabelle „members“ einzufügen. Aus dem gleichen Grund wird in dieser Abfrage wie im vorherigen Beispiel auch das Feld „id“ weggelassen.

EINFÜGUNG HINEIN Mitglieder
SATZ Name = „John Sina“ , Adresse = '34, Dhanmondi 9/A, Dhaka' , Kontaktnr = '+14844731336' , Email = „john@gmail.com“ ;

Die Ausgabe zeigt, dass ein Datensatz erfolgreich zur Mitgliedertabelle hinzugefügt wurde:

Führen Sie die folgende SQL-Anweisung aus, um eine einzelne Zeile in die Tabelle „book_borrow_info“ einzufügen:

EINFÜGUNG HINEIN book_borrow_info ( Ausweis , Ausleihdatum , book_id , Mitgliedsnummer , Rückflugdatum , STATUS )
WERTE ( 1 , '2023-03-12' , 1 , 1 , '2023-03-19' , 'Geliehen' ) ;

Die Ausgabe zeigt, dass ein Datensatz zur Tabelle „book_borrow_info“ hinzugefügt wird:

Fügen Sie mehrere Zeilen in die Tabelle ein

Manchmal ist es erforderlich, viele Datensätze gleichzeitig mit einer einzigen INSERT INTO-Anweisung hinzuzufügen. Führen Sie die folgende SQL-Anweisung aus, um mit einer einzigen INSERT INTO-Anweisung drei Datensätze in die Tabelle „books“ einzufügen. In diesem Fall wird die VALUES-Klausel einmal verwendet und die Daten jedes Datensatzes werden durch Komma getrennt.

EINFÜGUNG HINEIN Bücher ( Titel , Autor , Veröffentlichung , isbn , total_copy , Preis )
WERTE
( „SQL-Kochbuch (O’Reilly)“ , „Anthony Molinaro“ , „O’Reilly“ , „2467777532“ , 10 , 49 ) ,
( „SQL-Abfragen für Normalsterbliche“ , „John Viescas“ , „Addison-Wesley“ , '673456234' , fünfzehn , 35 ) ,
( „SQL lernen“ , „Alan Beaulieu“ , „Penguin Books Ltd“ , „534433222“ , 12 , Vier fünf ) ;

Die Ausgabe zeigt, dass der Tabelle „books“ drei Datensätze hinzugefügt werden:

Lesen Sie alle einzelnen Felder aus der Tabelle

Mit der SELECT-Anweisung werden die Daten aus der Tabelle „Datenbank“ gelesen. Das Symbol „*“ wird verwendet, um alle Felder der Tabelle in der SELECT-Anweisung zu kennzeichnen. Führen Sie den folgenden SQL-Befehl aus, um alle Datensätze der Büchertabelle zu lesen:

WÄHLEN * AUS Bücher;

Die Ausgabe zeigt alle Datensätze der Büchertabelle, die 4 Datensätze enthält:

Führen Sie den folgenden SQL-Befehl aus, um alle Datensätze von drei Feldern der Tabelle „members“ zu lesen:

WÄHLEN Name , Email , Kontaktnr AUS Mitglieder;

Die Ausgabe zeigt alle Datensätze von drei Feldern der Tabelle „Mitglieder“:

Lesen Sie die Tabelle, nachdem Sie die Daten aus der Tabelle gefiltert haben

Die WHERE-Klausel wird verwendet, um die Daten aus einer Tabelle basierend auf einer oder mehreren Bedingungen zu lesen. Führen Sie die folgende SELECT-Anweisung aus, um alle Datensätze aller Felder der Tabelle „books“ zu lesen, deren Autorname „John Viescas“ ist.

WÄHLEN * AUS Bücher WO Autor = „John Viescas“ ;

Die Tabelle „books“ enthält einen Datensatz, der der Bedingung der WHERE-Klausel entspricht, die in der Ausgabe angezeigt wird:

Lesen Sie die Tabelle, nachdem Sie die Daten basierend auf der booleschen Logik gefiltert haben

Die boolesche UND-Logik wird verwendet, um mehrere Bedingungen in der WHERE-Klausel zu definieren, die „true“ zurückgibt, wenn alle Bedingungen „true“ zurückgeben. Führen Sie die folgende SELECT-Anweisung aus, um mithilfe des logischen UND alle Datensätze aller Felder der Tabelle „books“ zu lesen, in denen der Wert des Felds „total_copy“ mehr als 10 und der Wert des Felds „price“ weniger als 45 beträgt.

WÄHLEN * AUS Bücher WO total_copy > 10 UND Preis < Vier fünf ;

Die Büchertabelle enthält einen Datensatz, der der Bedingung der WHERE-Klausel entspricht, die in der Ausgabe angezeigt wird:

Die boolesche ODER-Logik wird verwendet, um mehrere Bedingungen in der WHERE-Klausel zu definieren, die „true“ zurückgibt, wenn eine der Bedingungen „true“ zurückgibt. Führen Sie die folgende SELECT-Anweisung aus, um alle Datensätze aller Felder der Tabelle „books“ zu lesen, in denen der Wert des Felds „total_copy“ mehr als 10 oder der Wert des Felds „price“ mehr als 40 beträgt.

WÄHLEN * AUS Bücher WO total_copy > 10 ODER Preis > 40 ;

Die Büchertabelle enthält drei Datensätze, die der Bedingung der WHERE-Klausel entsprechen, die in der Ausgabe angezeigt wird:

Die boolesche NOT-Logik wird verwendet, um „false“ zurückzugeben, wenn die Bedingung wahr ist, und um „true“ zurückzugeben, wenn die Bedingung falsch ist. Führen Sie die folgende SELECT-Anweisung aus, um alle Datensätze aller Felder der Tabelle „books“ zu lesen, in denen der Wert des Feldes „author“ nicht „Addison-Wesley“ ist.

WÄHLEN * AUS Bücher WO NICHT Autor = „Addison-Wesley“ ;

Die Tabelle „books“ enthält drei Datensätze, die der Bedingung der WHERE-Klausel entsprechen, die in der Ausgabe angezeigt wird:

Lesen Sie die Tabelle, nachdem Sie die Zeilen basierend auf dem Datenbereich gefiltert haben

Mit der BETWEEN-Klausel wird der Datenbereich aus der Datenbanktabelle gelesen. Führen Sie die folgende SELECT-Anweisung aus, um alle Datensätze aller Felder der Tabelle „books“ zu lesen, wobei der Wert des Preisfelds zwischen 40 und 50 liegt.

WÄHLEN * AUS Bücher WO Preis ZWISCHEN 40 UND fünfzig ;

Die Büchertabelle enthält zwei Datensätze, die der Bedingung der WHERE-Klausel entsprechen, die in der Ausgabe angezeigt wird. Die Bücher der Preiswerte 39 und 35 werden aus der Ergebnismenge weggelassen, da diese außerhalb des Bereichs liegen.

Lesen Sie die Tabelle, nachdem Sie sie sortiert haben

Mit der ORDER BY-Klausel wird die Ergebnismenge der SELECT-Anweisung in aufsteigender oder absteigender Reihenfolge sortiert. Die Ergebnismenge wird standardmäßig in aufsteigender Reihenfolge sortiert, wenn die ORDER BY-Klausel ohne ASC oder DESC verwendet wird. Die folgende SELECT-Anweisung liest die sortierten Datensätze aus der Büchertabelle basierend auf dem Titelfeld:

WÄHLEN * AUS Bücher BEFEHL VON Titel;

Die Daten des Titelfeldes der Tabelle „Bücher“ werden in der Ausgabe aufsteigend sortiert. Das Buch „Learning SQL“ steht alphabetisch an erster Stelle, wenn das Titelfeld der Tabelle „Bücher“ aufsteigend sortiert ist.

Lesen Sie die Tabelle, indem Sie den alternativen Namen der Spalte festlegen

Der alternative Name der Spalte wird in der Abfrage verwendet, um die Ergebnismenge besser lesbar zu machen. Der alternative Name wird mit dem Schlüsselwort „AS“ festgelegt. Die folgende SQL-Anweisung gibt die Werte der Felder „Titel“ und „Autor“ zurück, indem sie die alternativen Namen festlegt.

WÄHLEN Titel ALS „Buchname“. , Autor ALS „Name des Autors“.
AUS Bücher;

In der Ausgabe wird das Titelfeld mit dem alternativen Namen „Buchname“ und das Autorfeld mit dem alternativen Namen „Autorenname“ angezeigt.

Zählen Sie die Gesamtzahl der Zeilen in der Tabelle

COUNT() ist eine Aggregatfunktion von SQL, die verwendet wird, um die Gesamtzahl der Zeilen basierend auf dem bestimmten Feld oder allen Feldern zu zählen. Das Symbol „*“ wird verwendet, um alle Felder zu kennzeichnen, und das Symbol COUNT(*) wird verwendet, um alle Datensätze der Tabelle zu zählen.

Die folgende Abfrage zählt die Gesamtzahl der Datensätze der Büchertabelle:

WÄHLEN ZÄHLEN ( * ) ALS „Bücher insgesamt“. AUS Bücher;

In der Ausgabe werden vier Datensätze in der Tabelle „books“ angezeigt:

Die folgende Abfrage zählt die Gesamtzahl der Zeilen der Tabelle „members“ basierend auf dem Feld „id“:

WÄHLEN ZÄHLEN ( Ausweis ) ALS „Gesamtzahl der Mitglieder“. AUS Mitglieder;

Die „members“-Tabelle verfügt über zwei ID-Werte, die in der Ausgabe gedruckt werden:

Lesen Sie die Daten aus mehreren Tabellen

Die vorherigen SELECT-Anweisungen haben die Daten aus einer einzelnen Tabelle abgerufen. Aber die SELECT-Anweisung kann verwendet werden, um die Daten aus zwei oder mehr Tabellen abzurufen. Die folgende SELECT-Abfrage liest die Werte der Felder „title“ und „author“ aus der Tabelle „books“ und das „borg_date“ aus der Tabelle „book_borrow_info“.

WÄHLEN Titel , Autor , Ausleihdatum
AUS Bücher , book_borrow_info
WO Bücher . Ausweis = book_borrow_info . book_id;

Die folgende Ausgabe zeigt, dass das Buch „SQL in 10 Minutes“ zweimal und das Buch „SQL Cookbook (O’Reilly)“ einmal ausgeliehen wird:

Die Daten können aus mehreren Tabellen mithilfe verschiedener JOINS-Typen wie INNER JOIN, OUTER JOIN usw. abgerufen werden, die in diesem Tutorial nicht erläutert werden.

Lesen Sie die Tabelle, indem Sie die einzelnen Felder gruppieren

Die GROUP BY-Klausel wird verwendet, um die Datensätze aus der Tabelle zu lesen, indem die Zeilen basierend auf einem oder mehreren Feldern gruppiert werden. Diese Art von Abfrage wird als zusammenfassende Abfrage bezeichnet. Sie müssen mehrere Zeilen in die Tabellen einfügen, um die Verwendung der GROUP BY-Klausel zu überprüfen. Führen Sie die folgenden INSERT-Anweisungen aus, um einen Datensatz in die Tabelle „members“ und zwei Datensätze in die Tabelle „book_borrow_info“ einzufügen.

EINFÜGUNG HINEIN Mitglieder
SATZ Name = „Sie Hasan“ , Adresse = '11/A, Jigatola, Dhaka' , Kontaktnr = '+8801734563423' , Email = „she@gmail.com“ ;
EINFÜGUNG HINEIN book_borrow_info ( Ausweis , Ausleihdatum , book_id , Mitgliedsnummer , Rückflugdatum , STATUS )
WERTE ( 2 , '2023-04-10' , 1 , 1 , '2023-04-15' , 'Ist zurückgekommen' ) ;
EINFÜGUNG HINEIN book_borrow_info ( Ausweis , Ausleihdatum , book_id , Mitgliedsnummer , Rückflugdatum , STATUS )
WERTE ( 3 , „20.05.2023“ , 2 , 1 , '30.05.2023' , 'Geliehen' ) ;

Führen Sie nach dem Einfügen der Daten durch Ausführen der vorherigen Abfragen die folgende SELECT-Anweisung aus, die mithilfe der GROUP BY-Klausel die Gesamtzahl der ausgeliehenen Bücher und den Namen des Mitglieds basierend auf jedem Mitglied zählt. Hier arbeitet die Funktion COUNT() mit dem Feld, das zum Neugruppieren der Datensätze mithilfe der GROUP BY-Klausel verwendet wird. Zur Gruppierung wird hier das Feld book_id der Tabelle „members“ verwendet.

WÄHLEN ZÄHLEN ( book_id ) ALS „Gesamt ausgeliehenes Buch“. , Name ALS „Mitgliedsname“. AUS Bücher , Mitglieder , book_borrow_info WO Bücher . Ausweis = book_borrow_info . book_id UND Mitglieder . Ausweis = book_borrow_info . Mitgliedsnummer GRUPPE VON book_borrow_info . Mitgliedsnummer;

Den Daten der Bücher-, „Members“- und „book_borrow_info“-Tabellen zufolge hat „John Sina“ zwei Bücher und „Ella Hasan“ ein Buch ausgeliehen.

Lesen Sie die Tabelle, nachdem Sie die doppelten Werte weggelassen haben

Manchmal werden in der Ergebnismenge der SELECT-Anweisung doppelte Daten generiert, die auf unnötigen Tabellendaten basieren. Die folgende SELECT-Anweisung gibt beispielsweise die doppelten Datensätze für die Daten der Tabelle „book_borrow_info“ zurück.

WÄHLEN Name , Email
AUS Mitglieder , book_borrow_info
WO book_borrow_info . Mitgliedsnummer = Mitglieder . Ausweis;

In der Ausgabe erscheint derselbe Datensatz zweimal, da das „John Sina“-Mitglied zwei Bücher ausgeliehen hat. Dieses Problem kann mit dem Schlüsselwort DISTINCT gelöst werden. Es entfernt die doppelten Datensätze aus dem Abfrageergebnis.

Die folgende SELECT-Anweisung generiert eindeutige Datensätze des Ergebnissatzes aus den Tabellen „members“ und „book_borrow_info“, nachdem die doppelten Werte mithilfe des Schlüsselworts DISTINCT in der Abfrage weggelassen wurden.

WÄHLEN UNTERSCHEIDBAR Name , Email
AUS Mitglieder , book_borrow_info
WO book_borrow_info . Mitgliedsnummer = Mitglieder . Ausweis;

Die Ausgabe zeigt, dass der doppelte Wert aus der Ergebnismenge entfernt wurde:

Lesen Sie die Tabelle, indem Sie die Zeilennummer begrenzen

Manchmal ist es erforderlich, die bestimmte Anzahl von Datensätzen vom Anfang des Ergebnissatzes, vom Ende des Ergebnissatzes oder von der Mitte des Ergebnissatzes aus der Datenbanktabelle zu lesen, indem die Zeilennummer begrenzt wird. Dies kann auf viele Arten erfolgen. Führen Sie vor dem Begrenzen der Zeilen die folgende SQL-Anweisung aus, um zu überprüfen, wie viele Datensätze in der Büchertabelle vorhanden sind:

WÄHLEN * AUS Bücher;

Die Ausgabe zeigt, dass die Büchertabelle vier Datensätze enthält:

Die folgende SELECT-Anweisung liest die ersten beiden Datensätze aus der Tabelle „books“ mithilfe der LIMIT-Klausel mit dem Wert 2:

WÄHLEN * AUS Bücher GRENZE 2 ;

Die ersten beiden Datensätze der Tabelle „books“ werden abgerufen, was in der Ausgabe angezeigt wird:

Die FETCH-Klausel ist die Alternative zur LIMIT-Klausel und ihre Verwendung wird in der folgenden SELECT-Anweisung gezeigt. Die ersten drei Datensätze der Tabelle „books“ werden mithilfe der FETCH FIRST 3 ROWS ONLY-Klausel in der SELECT-Anweisung abgerufen:

WÄHLEN * AUS Bücher FETCH ERSTE 3 REIHEN NUR ;

Die Ausgabe zeigt die ersten drei Datensätze der Tabelle „books“:

Zwei Schallplatten aus dem 3 rd Zeile der Büchertabelle werden durch Ausführen der folgenden SELECT-Anweisung abgerufen. Die LIMIT-Klausel wird hier mit dem Wert 2, 2 verwendet, wobei die erste 2 die Startposition der Zeile der Tabelle definiert, die bei 0 zu zählen beginnt, und die zweite 2 die Anzahl der Zeilen definiert, die bei der Startposition zu zählen beginnt.

WÄHLEN * AUS Bücher GRENZE 2 , 2 ;

Nach der Ausführung der vorherigen Abfrage erscheint die folgende Ausgabe:

Die Datensätze vom Ende der Tabelle können gelesen werden, indem die Tabelle in absteigender Reihenfolge basierend auf dem automatisch inkrementierten Primärschlüsselwert sortiert und die LIMIT-Klausel verwendet wird. Führen Sie die folgende SELECT-Anweisung aus, die die letzten beiden Datensätze aus der Tabelle „books“ liest. Hier wird die Ergebnismenge basierend auf dem Feld „id“ in absteigender Reihenfolge sortiert.

WÄHLEN * AUS Bücher BEFEHL VON Ausweis BESCHREIBUNG GRENZE 2 ;

Die letzten beiden Datensätze der Books-Tabelle werden in der folgenden Ausgabe angezeigt:

Lesen Sie die Tabelle basierend auf der Teilübereinstimmung

Die LIKE-Klausel wird mit dem „%“-Symbol verwendet, um die Datensätze durch teilweisen Abgleich aus der Tabelle abzurufen. Die folgende SELECT-Anweisung durchsucht mithilfe der LIKE-Klausel die Datensätze aus der Tabelle „books“, in denen das Autorenfeld „John“ am Anfang des Werts enthält. Hier wird das „%“-Symbol am Ende der Suchzeichenfolge verwendet.

WÄHLEN * AUS Bücher WO Autor WIE 'John%' ;

In der Tabelle „books“ ist nur ein Datensatz vorhanden, der die Zeichenfolge „John“ am Anfang des Werts des Feldes „Autor“ enthält.

Die folgende SELECT-Anweisung durchsucht mithilfe der LIKE-Klausel die Datensätze aus der Tabelle „books“, in denen das Veröffentlichungsfeld „Ltd“ am Ende des Werts enthält. Hier wird das „%“-Symbol am Anfang der Suchzeichenfolge verwendet:

WÄHLEN * AUS Bücher WO Veröffentlichung WIE '%GmbH' ;

In der Tabelle „books“ ist nur ein Datensatz vorhanden, der die Zeichenfolge „Ltd“ am Ende des Veröffentlichungsfelds enthält.

Die folgende SELECT-Anweisung durchsucht mithilfe der LIKE-Klausel die Datensätze aus der Tabelle „books“, deren Titelfeld die „Abfragen“ an einer beliebigen Stelle des Werts enthält. Hier wird das „%“-Symbol auf beiden Seiten der Suchzeichenfolge verwendet:

WÄHLEN * AUS Bücher WO Titel WIE '%Abfragen%' ;

In der Tabelle „books“ ist nur ein Datensatz vorhanden, der die Zeichenfolge „Queries“ im Titelfeld enthält.

Zählen Sie die Summe des jeweiligen Feldes der Tabelle

SUM() ist eine weitere nützliche Aggregatfunktion von SQL, die die Summe der Werte eines beliebigen numerischen Felds der Tabelle berechnet. Diese Funktion benötigt ein Argument, das numerisch sein muss. Die folgende SQL-Anweisung berechnet die Summe aller Werte des Preisfelds der Tabelle „books“, die ganzzahlige Werte enthält.

WÄHLEN SUMME ( Preis ) ALS „Gesamtbuchpreis“.
AUS Bücher;

Die Ausgabe zeigt den Summenwert aller Werte des Preisfeldes der Tabelle „Bücher“. Vier Werte des Preisfelds sind 39, 49, 35 und 45. Die Summe dieser Werte beträgt 168.

Finden Sie die Maximal- und Minimalwerte des jeweiligen Feldes

Die Aggregatfunktionen MIN() und MAX() werden verwendet, um die minimalen und maximalen Werte des jeweiligen Felds der Tabelle zu ermitteln. Beide Funktionen benötigen ein Argument, das numerisch sein muss. Die folgende SQL-Anweisung ermittelt den Mindestpreiswert aus der Tabelle „Bücher“, bei dem es sich um eine Ganzzahl handelt.

WÄHLEN MINDEST ( Preis ) ALS „Buch der minimalen Kosten“. AUS Bücher;

Fünfunddreißig (35) ist der Mindestwert des Preisfelds, der in der Ausgabe gedruckt wird.

Die folgende SQL-Anweisung ermittelt den maximalen Preiswert aus der Tabelle „books“:

WÄHLEN MAX ( Preis ) ALS „Buch der Höchstkosten“. AUS Bücher;

Neunundvierzig (49) ist der maximale Wert des Preisfelds, der in der Ausgabe gedruckt wird.

Lesen Sie den bestimmten Teil der Daten oder eines Feldes

Die Funktion SUBSTR() wird in der SQL-Anweisung verwendet, um den bestimmten Teil der Zeichenfolgendaten oder den Wert des bestimmten Felds einer Tabelle abzurufen. Diese Funktion enthält drei Argumente. Das erste Argument enthält den String-Wert oder einen Feldwert einer Tabelle, die ein String ist. Das zweite Argument enthält die Startposition der Teilzeichenfolge, die aus dem ersten Argument abgerufen wird, und die Zählung dieses Werts beginnt bei 1. Das dritte Argument enthält die Länge der Teilzeichenfolge, die ab der Startposition zu zählen beginnt.

Die folgende SELECT-Anweisung schneidet die ersten fünf Zeichen aus der Zeichenfolge „Learn SQL Basics“ aus und gibt sie aus, wobei die Startposition 1 und die Länge 5 ist:

WÄHLEN SUBSTR ( „SQL-Grundlagen lernen“ , 1 , 5 ) ALS „Teilzeichenfolgenwert“. ;

Die ersten fünf Zeichen der Zeichenfolge „Learn SQL Basics“ lauten „Learn“, was in der Ausgabe gedruckt wird.

Die folgende SELECT-Anweisung schneidet und druckt die SQL aus der Zeichenfolge „Learn SQL Basics“, wobei die Startposition 7 und die Länge 3 ist:

WÄHLEN SUBSTR ( „SQL-Grundlagen lernen“ , 7 , 3 ) ALS „Teilzeichenfolgenwert“. ;

Nach der Ausführung der vorherigen Abfrage erscheint die folgende Ausgabe:

Die folgende SELECT-Anweisung schneidet die ersten fünf Zeichen aus dem Namensfeld der Tabelle „members“ aus und gibt sie aus:

WÄHLEN SUBSTR ( Name , 1 , 5 ) ALS „Mitgliedsname“. AUS Mitglieder;

Die Ausgabe zeigt die ersten fünf Zeichen jedes Werts des Namensfelds der Tabelle „Mitglieder“.

Lesen Sie die Tabellendaten nach der Verkettung

Die Funktion CONCAT() wird verwendet, um die Ausgabe zu generieren, indem ein oder mehrere Felder einer Tabelle kombiniert oder die Zeichenfolgendaten oder der bestimmte Feldwert der Tabelle hinzugefügt werden. Die folgende SQL-Anweisung liest die Werte der Felder „Titel“, „Autor“ und „Preis“ der Tabelle „Bücher“ und der Zeichenfolgenwert „$“ wird mithilfe der Funktion CONCAT() zu jedem Wert des Felds „Preis“ hinzugefügt.

WÄHLEN Titel ALS Titel , Autor ALS Autor , CONCAT ( '$' , Preis ) ALS Preis
AUS Bücher;

Die Werte des Preisfelds werden in der Ausgabe durch Verkettung mit der Zeichenfolge „$“ gedruckt.

Führen Sie die folgende SQL-Anweisung aus, um die Werte der Felder „title“ und „author“ der Tabelle „books“ mit dem Zeichenfolgenwert „by“ mithilfe der Funktion CONCAT() zu kombinieren:

WÄHLEN CONCAT ( Titel , ' von ' , Autor ) ALS „Buchname mit Autor“.
AUS Bücher;

Nach der Ausführung der vorherigen SELECT-Abfrage erscheint die folgende Ausgabe:

Lesen Sie die Tabellendaten nach einer mathematischen Berechnung

Jede mathematische Berechnung kann zum Zeitpunkt des Abrufens der Werte der Tabelle mithilfe einer SELECT-Anweisung durchgeführt werden. Führen Sie die folgende SQL-Anweisung aus, um nach der Berechnung des Rabatts von 5 % die ID, den Titel, den Preis und den Rabattwert zu lesen.

WÄHLEN Ausweis , Titel , Preis ALS „Regulärer Preis“. , Preis - ( Preis * 5 / 100 ) ALS „Rabattpreis“.
AUS Bücher;

Die folgende Ausgabe zeigt den regulären Preis und den Rabattpreis für jedes Buch:

Erstellen Sie eine Ansicht der Tabelle

Die VIEW wird verwendet, um die Abfrage zu vereinfachen und der Datenbank zusätzliche Sicherheit zu bieten. Es funktioniert wie eine virtuelle Tabelle, die aus einer oder mehreren Tabellen generiert wird. Die Methode zum Erstellen und Ausführen einer einfachen VIEW basierend auf der Tabelle „members“ wird im folgenden Beispiel gezeigt. Die VIEW wird mit der SELECT-Anweisung ausgeführt. Die folgende SQL-Anweisung erstellt eine VIEW der Tabelle „members“ mit den Feldern „id“, „name“, „address“ und „contact_no“. Die SELECT-Anweisung führt die member_view aus.

ERSTELLEN SICHT member_view ALS
WÄHLEN Ausweis , Name , Adresse , Kontaktnr
AUS Mitglieder;

WÄHLEN * AUS member_view;

Nach dem Erstellen und Ausführen der Ansicht erscheint die folgende Ausgabe:

Aktualisieren Sie die Tabelle basierend auf der jeweiligen Bedingung

Mit der UPDATE-Anweisung wird der Inhalt der Tabelle aktualisiert. Wenn eine UPDATE-Abfrage ohne die WHERE-Klausel ausgeführt wird, werden alle in der UPDATE-Abfrage verwendeten Felder aktualisiert. Daher ist es notwendig, eine UPDATE-Anweisung mit der richtigen WHERE-Klausel zu verwenden. Führen Sie die folgende UPDATE-Anweisung aus, um die Felder „name“ und „contact_no“ zu aktualisieren, wobei der Wert des Felds „id“ 1 ist. Führen Sie als Nächstes die SELECT-Anweisung aus, um zu überprüfen, ob die Daten ordnungsgemäß aktualisiert wurden oder nicht.

AKTUALISIEREN Mitglieder
SATZ Name = 'Janifer' , Kontaktnr = '+880175621223'
WO Ausweis = 1 ;

WÄHLEN * AUS Mitglieder;

Die folgende Ausgabe zeigt, dass die UPDATE-Anweisung erfolgreich ausgeführt wurde. Der Wert des Namensfelds wird mithilfe der UPDATE-Abfrage in „Janifer“ und das Feld „contact_no“ in „+880175621223“ des Datensatzes geändert, der den ID-Wert 1 enthält:

Löschen Sie die Tabellendaten basierend auf der jeweiligen Bedingung

Die DELETE-Anweisung wird verwendet, um den spezifischen Inhalt oder den gesamten Inhalt der Tabelle zu löschen. Wenn eine DELETE-Abfrage ohne die WHERE-Klausel ausgeführt wird, werden alle Felder gelöscht. Daher ist es notwendig, die UPDATE-Anweisung mit der richtigen WHERE-Klausel zu verwenden. Führen Sie die folgende DELETE-Anweisung aus, um alle Daten aus der Tabelle „Books“ zu löschen, deren ID-Wert 4 ist. Führen Sie anschließend die SELECT-Anweisung aus, um zu überprüfen, ob die Daten ordnungsgemäß gelöscht wurden oder nicht.

LÖSCHEN AUS Bücher WO Ausweis = 4 ;
WÄHLEN * AUS Bücher;

Die folgende Ausgabe zeigt, dass die DELETE-Anweisung erfolgreich ausgeführt wurde. Die 4 Th Der Datensatz der Büchertabelle wird mithilfe der DELETE-Abfrage entfernt:

Alle Datensätze aus der Tabelle löschen

Führen Sie die folgende DELETE-Anweisung aus, um alle Datensätze aus der Tabelle „books“ zu löschen, in denen die WHERE-Klausel weggelassen wird. Führen Sie als Nächstes die SELECT-Abfrage aus, um den Tabelleninhalt zu überprüfen.

LÖSCHEN AUS book_borrow_info;
WÄHLEN * AUS book_borrow_info;

Die folgende Ausgabe zeigt, dass die Tabelle „books“ nach der Ausführung der DELETE-Abfrage leer ist:

Wenn eine Tabelle ein Auto-Inkrement-Attribut enthält und alle Datensätze aus der Tabelle gelöscht werden, beginnt das Auto-Inkrement-Feld mit der Zählung ab dem letzten Inkrement, wenn ein neuer Datensatz eingefügt wird, nachdem die Tabelle leer gemacht wurde. Dieses Problem kann mit der TRUNCATE-Anweisung gelöst werden. Es wird auch verwendet, um alle Datensätze aus der Tabelle zu löschen, aber das Auto-Inkrement-Feld beginnt mit der Zählung bei 1, nachdem alle Datensätze aus der Tabelle gelöscht wurden. Die SQL der TRUNCATE-Anweisung wird im Folgenden dargestellt:

KÜRZEN book_borrow_info;

Lass den Tisch fallen

Eine oder mehrere Tabellen können gelöscht werden, indem überprüft wird oder nicht, ob die Tabelle vorhanden ist oder nicht. Die folgenden DROP-Anweisungen löschen die Tabelle „book_borrow_info“ und die Anweisung „SHOW tables“ prüft, ob die Tabelle auf dem Server existiert oder nicht.

TROPFEN TISCH book_borrow_info;
ZEIGEN TABELLEN ;

Die Ausgabe zeigt, dass die Tabelle „book_borrow_info“ gelöscht wurde.

Die Tabelle kann gelöscht werden, nachdem überprüft wurde, ob sie auf dem Server vorhanden ist oder nicht. Führen Sie die folgende DROP-Anweisung aus, um die Bücher- und Mitgliedertabelle zu löschen, sofern diese Tabellen auf dem Server vorhanden sind. Als nächstes prüft die „SHOW tables“-Anweisung, ob die Tabellen auf dem Server vorhanden sind oder nicht.

TROPFEN TISCH WENN EXISTIERT Bücher , Mitglieder;
ZEIGEN TABELLEN ;

Die folgende Ausgabe zeigt, dass die Tabellen vom Server gelöscht wurden:

Löschen Sie die Datenbank

Führen Sie die folgende SQL-Anweisung aus, um die Datenbank „library“ vom Server zu löschen:

TROPFEN DATENBANK Bibliothek;

Die Ausgabe zeigt, dass die Datenbank gelöscht wurde.

Abschluss

Die am häufigsten verwendeten SQL-Abfragebeispiele zum Erstellen, Zugreifen, Ändern und Löschen der Datenbank des MariaDB-Servers werden in diesem Tutorial anhand der Erstellung einer Datenbank und dreier Tabellen gezeigt. Die Verwendung verschiedener SQL-Anweisungen wird anhand sehr einfacher Beispiele erklärt, um dem neuen Datenbankbenutzer das richtige Erlernen der SQL-Grundlagen zu erleichtern. Auf die Verwendung komplexer Abfragen wird hier verzichtet. Die neuen Datenbankbenutzer können mit jeder Datenbank arbeiten, nachdem sie dieses Tutorial sorgfältig gelesen haben.