Skip to main content

Einführung in die SQL-Grundlagen

SQL: Alle Grundlagen in einer Folge (Juni 2025)

SQL: Alle Grundlagen in einer Folge (Juni 2025)
Anonim

Die strukturierte Abfragesprache ist einer der grundlegenden Bausteine ​​moderner Datenbankarchitektur. SQL definiert die Methoden zum Erstellen und Bearbeiten relationaler Datenbanken auf allen wichtigen Plattformen. Auf den ersten Blick mag die Sprache einschüchternd und komplex erscheinen, aber es ist nicht allzu schwierig.

Über SQL

Die korrekte Aussprache von SQL ist ein umstrittenes Thema in der Datenbankgemeinschaft. In seinem SQL-Standard erklärte das American National Standards Institute, dass die offizielle Aussprache "es queue el" ist. Allerdings haben viele Datenbankexperten die Slangaussprache "Fortsetzung" übernommen. Es ist deine Entscheidung.

SQL gibt es in vielen Varianten. Oracle-Datenbanken verwenden ihr proprietäres PL / SQL. Microsoft SQL Server verwendet Transact-SQL. Alle Varianten basieren auf dem Industriestandard ANSI SQL. In dieser Einführung werden ANSI-kompatible SQL-Befehle verwendet, die auf jedem modernen relationalen Datenbanksystem funktionieren.

DDL und DML

SQL-Befehle können in zwei Hauptuntersprachen unterteilt werden. Die Data Definition Language (DDL) enthält die Befehle zum Erstellen und Löschen von Datenbanken und Datenbankobjekten. Nachdem die Datenbankstruktur mit DDL definiert wurde, können Datenbankadministratoren und Benutzer die Data Manipulation Language (DML) zum Einfügen, Abrufen und Ändern der darin enthaltenen Daten verwenden.

Befehle für die Datendefinitionssprache

Die Data Definition Language wird zum Erstellen und Löschen von Datenbanken und Datenbankobjekten verwendet. Diese Befehle werden hauptsächlich von Datenbankadministratoren während der Einrichtungs- und Entfernungsphase eines Datenbankprojekts verwendet. Hier sehen Sie die Struktur und Verwendung von vier grundlegenden DDL-Befehlen:

ERSTELLEN.Durch die Installation eines Datenbankverwaltungssystems auf einem Computer können Sie viele unabhängige Datenbanken erstellen und verwalten. Sie möchten beispielsweise eine Datenbank mit Kundenkontakten für Ihre Verkaufsabteilung und eine Personaldatenbank für Ihre Personalabteilung pflegen. Mit dem Befehl CREATE können Sie jede dieser Datenbanken auf Ihrer Plattform einrichten. Zum Beispiel der Befehl:

CREATE DATABASE Mitarbeiter

erstellt eine leere Datenbank mit dem Namen "Mitarbeiter" in Ihrem DBMS. Nach dem Erstellen der Datenbank besteht der nächste Schritt darin, Tabellen zu erstellen, die Daten enthalten. Zu diesem Zweck kann eine andere Variante des Befehls CREATE verwendet werden. Der Befehl:

CREATE TABLE personal_info (vorname char (20) nicht null, Nachname char (20) nicht null, employee_id int nicht null)

erstellt in der aktuellen Datenbank eine Tabelle mit dem Titel "personal_info". In diesem Beispiel enthält die Tabelle drei Attribute: first_name, last_name und employee_id sowie einige zusätzliche Informationen.

BENUTZEN.Mit dem USE-Befehl können Sie die Datenbank angeben, mit der Sie in Ihrem DBMS arbeiten möchten. Wenn Sie beispielsweise in der Vertriebsdatenbank arbeiten und einige Befehle ausgeben möchten, die sich auf die Mitarbeiterdatenbank auswirken, stellen Sie ihnen den folgenden SQL-Befehl vor:

Mitarbeiter verwenden

Es ist wichtig, sich immer der Datenbank bewusst zu sein, in der Sie gerade arbeiten, bevor Sie SQL-Befehle zum Bearbeiten von Daten ausgeben.

ÄNDERN.Nachdem Sie eine Tabelle in einer Datenbank erstellt haben, möchten Sie möglicherweise ihre Definition ändern. Mit dem Befehl ALTER können Sie Änderungen an der Struktur einer Tabelle vornehmen, ohne sie zu löschen und neu zu erstellen. Sehen Sie sich den folgenden Befehl an:

ALTER TABLE personal_info ADD Gehalt geld null

In diesem Beispiel wird der Tabelle personal_info ein neues Attribut hinzugefügt - das Gehalt eines Mitarbeiters. Das Argument "Geld" gibt an, dass das Gehalt eines Mitarbeiters im Dollar- und Cent-Format gespeichert wird. Schließlich teilt das Schlüsselwort "null" der Datenbank mit, dass dieses Feld keinen Wert für einen bestimmten Mitarbeiter enthalten darf.

FALLEN.Mit dem letzten Befehl der Data Definition Language (DROP) können wir komplette Datenbankobjekte aus unserem DBMS entfernen. Wenn wir beispielsweise die von uns erstellte personal_info-Tabelle dauerhaft entfernen möchten, verwenden wir den folgenden Befehl:

DROP TABLE personal_info

In ähnlicher Weise würde der folgende Befehl verwendet, um die gesamte Mitarbeiterdatenbank zu entfernen:

DROP DATABASE Mitarbeiter

Verwenden Sie diesen Befehl mit Vorsicht. Der Befehl DROP entfernt vollständige Datenstrukturen aus Ihrer Datenbank. Wenn Sie einzelne Datensätze entfernen möchten, verwenden Sie den Befehl DELETE der Datenmanipulationssprache.

Befehle für die Datenmanipulationssprache

Die Data Manipulation Language (DML) dient zum Abrufen, Einfügen und Ändern von Datenbankinformationen. Diese Befehle werden von allen Datenbankbenutzern während des Routinebetriebs der Datenbank verwendet.

EINFÜGEN.Mit dem INSERT-Befehl in SQL werden einer vorhandenen Tabelle Datensätze hinzugefügt. Stellen Sie sich vor, dass wir zum Beispiel personal_info aus dem vorherigen Abschnitt zurückkehren, dass unsere Personalabteilung einen neuen Mitarbeiter zu ihrer Datenbank hinzufügen muss. Sie könnten einen Befehl ähnlich diesem verwenden:

INSERT IN personal_infoWerte ('Bart', 'Simpson', 12345, $ 45000)

Beachten Sie, dass für den Datensatz vier Werte angegeben sind. Diese entsprechen den Tabellenattributen in der Reihenfolge, in der sie definiert wurden: first_name, last_name, employee_id und gehalt.

WÄHLEN.Der SELECT-Befehl ist der am häufigsten verwendete Befehl in SQL. Datenbankbenutzer können damit die gewünschten spezifischen Informationen aus einer Betriebsdatenbank abrufen. Sehen Sie sich einige Beispiele an, und verwenden Sie erneut die personal_info-Tabelle aus der Mitarbeiterdatenbank.

Der unten gezeigte Befehl ruft alle Informationen ab, die in der personal_info-Tabelle enthalten sind. Beachten Sie, dass das Sternchen in SQL als Platzhalter verwendet wird. Dies bedeutet wörtlich "Alles aus der personal_info-Tabelle auswählen".

WÄHLEN *VON personal_info

Alternativ möchten Benutzer möglicherweise die Attribute einschränken, die aus der Datenbank abgerufen werden. Beispielsweise kann die Personalabteilung eine Liste der Nachnamen aller Angestellten im Unternehmen verlangen. Der folgende SQL-Befehl würde nur diese Informationen abrufen:

SELECT last_nameVON personal_info

Die WHERE-Klausel kann verwendet werden, um die abgerufenen Datensätze auf diejenigen zu beschränken, die die angegebenen Kriterien erfüllen. Der CEO könnte daran interessiert sein, die Personalakten aller hochbezahlten Mitarbeiter zu überprüfen. Der folgende Befehl ruft alle in personal_info enthaltenen Daten für Datensätze ab, deren Gehaltswert über 50.000 US-Dollar liegt:

WÄHLEN *VON personal_infoWO Gehalt> 50000 $

AKTUALISIEREN.Der Befehl UPDATE kann verwendet werden, um die in einer Tabelle enthaltenen Informationen entweder einzeln oder einzeln zu ändern. Angenommen, das Unternehmen gewährt allen Mitarbeitern eine jährliche Erhöhung der Gehaltskosten um 3 Prozent. Mit dem folgenden SQL-Befehl können Sie dies schnell auf alle in der Datenbank gespeicherten Mitarbeiter anwenden:

UPDATE personal_infoSET-Gehalt = Gehalt * 1,03

Wenn der neue Mitarbeiter Bart Simpson über die Anforderungen hinausgeht, möchte das Management seine herausragenden Leistungen mit einer Erhöhung von 5.000 USD würdigen. Die WHERE-Klausel könnte verwendet werden, um Bart für diese Erhöhung zu ermitteln:

UPDATE personal_infoSET-Gehalt = Gehalt + $ 5000WHERE employee_id = 12345

LÖSCHEN.Lassen Sie uns zum Schluss noch den DELETE-Befehl betrachten. Sie werden feststellen, dass die Syntax dieses Befehls der der anderen DML-Befehle ähnelt. Leider entsprach unser jüngster Unternehmensergebnisbericht nicht ganz den Erwartungen und der arme Bart wurde entlassen. Der DELETE-Befehl mit einer WHERE-Klausel kann verwendet werden, um seinen Datensatz aus der personal_info-Tabelle zu entfernen:

LÖSCHEN VON personal_infoWHERE employee_id = 12345

JOINs

Nachdem Sie nun die Grundlagen von SQL kennengelernt haben, ist es an der Zeit, zu einem der mächtigsten Konzepte der Sprache überzugehen - der JOIN-Anweisung. Mit einer JOIN-Anweisung können Sie Daten in mehreren Tabellen kombinieren, um große Datenmengen effizient zu verarbeiten. In diesen Anweisungen liegt die wahre Leistungsfähigkeit einer Datenbank.

Um die Verwendung einer grundlegenden JOIN-Operation zum Kombinieren von Daten aus zwei Tabellen zu erkunden, fahren Sie mit dem Beispiel mit der Tabelle PERSONAL_INFO fort und fügen Sie dem Mix eine zusätzliche Tabelle hinzu. Angenommen, Sie haben eine Tabelle namens DISCIPLINARY_ACTION, die mit der folgenden Anweisung erstellt wurde:

CREATE TABLE disciplinary_action (action_id int nicht null, employee_id int nicht null, kommentare char (500))

Diese Tabelle enthält die Ergebnisse von Disziplinarverfahren gegen Mitarbeiter des Unternehmens. Sie werden feststellen, dass es keine anderen Informationen als den Mitarbeiter enthält. Es ist leicht, sich viele Szenarien vorzustellen, in denen Sie Informationen aus den Tabellen DISCIPLINARY_ACTION und PERSONAL_INFO kombinieren möchten.

Angenommen, Sie wurden mit der Erstellung eines Berichts beauftragt, der die disziplinarischen Maßnahmen gegen alle Angestellten mit einem Gehalt von mehr als 40.000 USD auflistet. Die Verwendung einer JOIN-Operation ist in diesem Fall unkompliziert. Wir können diese Informationen mit dem folgenden Befehl abrufen:

WÄHLEN Sie personal_info.first_name, personal_info.ast_name, disciplinary_action.comments ausFROM personal_info, disciplinary_actionWHERE personal_info.employee_id = disciplinary_action.employee_idUND personal_info.salary> 40000

Der Code gibt die beiden Tabellen an, die in der FROM-Klausel zusammengefügt werden sollen, und fügt dann eine Anweisung in die WHERE-Klausel ein, um die Ergebnisse auf Datensätze zu begrenzen, die übereinstimmende Mitarbeiter-IDs hatten und unseren Kriterien eines Gehalts von mehr als 40.000 USD entsprachen.