SQL-Daten hinzufügen. SQL-Abfrage zum Hinzufügen und Löschen von Datensätzen

16.09.2023

In den vorherigen Abschnitten haben wir uns mit der Arbeit beim Abrufen von Daten aus vorab erstellten Tabellen befasst. Jetzt ist es an der Zeit, herauszufinden, wie wir Tabellen erstellen/löschen, neue Datensätze hinzufügen und alte löschen können. Für diese Zwecke in SQL Es gibt Betreiber wie: ERSTELLEN- erstellt eine Tabelle, ÄNDERN- ändert die Tabellenstruktur, FALLEN- löscht eine Tabelle oder ein Feld, EINFÜGEN- Fügt Daten zur Tabelle hinzu. Beginnen wir mit der Bekanntschaft mit dieser Gruppe von Operatoren vom Betreiber EINFÜGEN.

1. Ganze Zeilen hinzufügen

Wie der Name schon sagt, der Betreiber EINFÜGEN Wird zum Einfügen (Anhängen) von Zeilen in eine Datenbanktabelle verwendet. Das Hinzufügen kann auf verschiedene Arten erfolgen:

  • - Fügen Sie eine vollständige Zeile hinzu
  • - Teil einer Zeile hinzufügen
  • - Abfrageergebnisse hinzufügen.

Um also einer Tabelle eine neue Zeile hinzuzufügen, müssen wir den Tabellennamen angeben, die Spaltennamen auflisten und den Wert für jede Spalte mithilfe des Konstrukts angeben EINFÜGEN IN Tabellenname (Feld1, Feld2 ...) WERTE (Wert1, Wert2...). Schauen wir uns ein Beispiel an.

IN DIE WERTE DER VERKÄUFER (ID, Adresse, Stadt, Verkäufername, Land) EINFÜGEN(„6“, „1st Street“, „Los Angeles“, „Harry Monroe“, „USA“)

Sie können auch die Reihenfolge der Spaltennamen ändern, müssen jedoch gleichzeitig die Reihenfolge der Werte im Parameter ändern WERTE.

2. Einen Teil der Zeilen hinzufügen

Im vorherigen Beispiel bei Verwendung des Operators EINFÜGEN Wir haben die Tabellenspaltennamen explizit markiert. Mit dieser Syntax können wir einige Spalten überspringen. Das bedeutet, dass Sie für einige Spalten Werte eingeben, für andere jedoch keine Werte bereitstellen. Zum Beispiel:

IN DIE WERTE DER VERKÄUFER (ID, Stadt, VERKÄUFERNAME) EINFÜGEN(„6“, „Los Angeles“, „Harry Monroe“)

In diesem Beispiel haben wir keinen Wert für zwei Spalten angegeben Adresse Und Land. Sie können einige Spalten aus der Anweisung ausschließen EINFÜGEN IN, sofern dies die Tabellendefinition zulässt. In diesem Fall muss eine der Bedingungen erfüllt sein: Diese Spalte ist als gültig definiert NULL(Fehlen eines Werts) oder der angegebene Standardwert in der Tabellendefinition. Das heißt, wenn kein Wert angegeben wird, wird der Standardwert verwendet. Wenn Ihnen eine Spalte in einer Tabelle fehlt, in deren Zeilen keine Werte angezeigt werden können NULL und kein Standardwert definiert ist, generiert das DBMS eine Fehlermeldung und die Zeile wird nicht hinzugefügt.

3. Ausgewählte Daten hinzufügen

Im vorherigen Beispiel haben wir Daten in Tabellen eingefügt, indem wir sie manuell in die Abfrage eingegeben haben. Allerdings der Betreiber EINFÜGEN IN ermöglicht es uns, diesen Prozess zu automatisieren, wenn wir Daten aus einer anderen Tabelle einfügen möchten. Zu diesem Zweck gibt es in SQL eine solche Konstruktion wie EINFÜGEN IN ... AUSWÄHLEN .... Dieses Design ermöglicht es Ihnen, gleichzeitig Daten aus einer Tabelle auszuwählen und in eine andere einzufügen. Nehmen wir an, wir haben einen anderen Tisch Verkäufer_EU mit einer Liste der Verkäufer unserer Waren in Europa und wir müssen sie zur allgemeinen Tabelle hinzufügen Verkäufer. Die Struktur dieser Tabellen ist dieselbe (gleiche Spaltenanzahl und gleiche Namen), aber die Daten sind unterschiedlich. Dazu können wir die folgende Abfrage schreiben:

EINFÜGEN IN Verkäufer (ID, Adresse, Stadt, Verkäufername, Land) AUSWÄHLENID, Adresse, Stadt, Verkäufername, Land VON Sellers_EU

Sie müssen darauf achten, dass sich die Werte interner Schlüssel nicht wiederholen (Feld AUSWEIS), sonst kommt es zu einem Fehler. Operator WÄHLEN kann auch Anregungen enthalten WO um Daten zu filtern. Es ist auch zu beachten, dass das DBMS nicht auf die Namen der in der Anweisung enthaltenen Spalten achtet WÄHLEN Wichtig ist ihr nur die Reihenfolge, in der sie angeordnet sind. Daher sind die Daten in der ersten angegebenen Spalte, die aufgrund ausgewählt wurde WÄHLEN, wird in jedem Fall in die erste Spalte der Tabelle eingetragen Verkäufer, angegeben nach dem Operator EINFÜGEN IN, unabhängig vom Feldnamen.

4. Daten von einer Tabelle in eine andere kopieren

Bei der Arbeit mit Datenbanken besteht häufig die Notwendigkeit, Kopien beliebiger Tabellen zu Sicherungs- oder Änderungszwecken zu erstellen. Um eine vollständige Kopie einer Tabelle zu erstellen, stellt SQL eine separate Anweisung bereit AUSWÄHLEN IN. Beispielsweise müssen wir eine Kopie der Tabelle erstellen Verkäufer, müssen Sie die Anfrage wie folgt schreiben:

SELECT * INTO Sellers_new FROM Sellers

Im Gegensatz zum vorherigen Design EINFÜGEN IN ... AUSWÄHLEN ... Wenn Daten zu einer vorhandenen Tabelle hinzugefügt werden, kopiert der Entwurf die Daten in die neue Tabelle. Man kann auch sagen, dass das erste Konstrukt Daten importiert und das zweite exportiert. Bei Verwendung des Designs WÄHLEN ... IN ... VON ... Folgendes sollte berücksichtigt werden:

  • - Sie können im Operator beliebige Sätze verwenden WÄHLEN, sowie GRUPPIERE NACH Und HABEN
  • - Sie können einen Join verwenden, um Daten aus mehreren Tabellen hinzuzufügen
  • - Daten können nur zu einer Tabelle hinzugefügt werden, unabhängig davon, aus wie vielen Tabellen sie entnommen wurden.

Allgemeine Syntax:

a) Einfügen einer neuen Zeile in die Tabelle:

EINFÜGEN<таблица>[(Säulen)]

WERTE

b) Einfügen einer oder mehrerer Zeilen in die Tabelle aus der in der Unterabfrage angegebenen Quelle:

EINFÜGEN<таблица>[(Säulen)]