Einführung in die SQL-Grundlagen

click fraud protection

Die Structured Query Language (SQL) ist einer der grundlegenden Bausteine ​​moderner Datenbankarchitekturen. 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 innerhalb der Datenbank-Community. In seinem SQL-Standard erklärte das American National Standards Institute, dass die offizielle Aussprache "es Queue" ist el." Viele Datenbankprofis haben jedoch die umgangssprachliche Aussprache "Fortsetzung" übernommen von GIF, es gibt keine richtige Antwort.

SQL gibt es in vielen Varianten. Oracle-Datenbanken verwenden sein proprietäres PL/SQL. Microsoft SQL Server verwendet Transact-SQL. Alle Variationen basieren auf dem Industriestandard ANSI SQL.

Diese Einführung verwendet ANSI-kompatible SQL-Befehle, die auf jedem modernen relationalen Datenbanksystem funktionieren.

instagram viewer

DDL und DML

SQL-Befehle können in zwei Hauptuntersprachen unterteilt werden. Die Data Definition Language 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 Datenbearbeitungssprache verwenden, um die darin enthaltenen Daten einzufügen, abzurufen und zu ändern.

SQL unterstützt einen dritten Syntaxtyp namens Datenkontrollsprache. DCL regelt den Sicherheitszugriff auf Objekte innerhalb der Datenbank. Zum Beispiel a DCL-Skript gewährt oder entzieht bestimmten Benutzerkonten das Recht, Tabellen in einem oder mehreren definierten Bereichen der Datenbank zu lesen oder zu schreiben. In den meisten verwalteten Mehrbenutzerumgebungen führen Datenbankadministratoren normalerweise DCL-Skripte aus.

Befehle in der Datendefinitionssprache

Die Data Definition Language wird verwendet, um Datenbanken und Datenbankobjekte zu erstellen und zu zerstören. Diese Befehle werden hauptsächlich von Datenbankadministratoren während der Einrichtungs- und Entfernungsphase eines Datenbankprojekts verwendet. DDL dreht sich um vier Hauptbefehle:erstellen, benutzen, ändern, und fallen.

Erstellen

Das erstellen -Befehl erstellt Datenbanken, Tabellen oder Abfragen auf Ihrer Plattform. Zum Beispiel der Befehl:

DATENBANK ERSTELLEN Mitarbeiter;

erstellt eine leere Datenbank namens Angestellte auf Ihrem DBMS. Nach dem Erstellen der Datenbank besteht der nächste Schritt darin, Tabellen zu erstellen, die Daten enthalten. Eine andere Variante des erstellen Befehl erfüllt diesen Zweck. Der Befehl:

CREATE TABLE personal_info (vorname char (20) nicht null, nachname char (20) nicht null, mitarbeiter_id int nicht null);

erstellt eine Tabelle mit dem Titel persönliche Informationen in der aktuellen Datenbank. Im Beispiel enthält die Tabelle drei Attribute: Vorname, Nachname, und Angestellten ID zusammen mit einigen zusätzlichen Informationen.

Benutzen

Das benutzen Befehl gibt die aktive Datenbank an. Wenn Sie beispielsweise derzeit in der Vertriebsdatenbank arbeiten und einige Befehle ausführen möchten, die sich auf die Mitarbeiterdatenbank auswirken, stellen Sie ihnen den folgenden SQL-Befehl voran:

USE-Mitarbeiter;

Überprüfen Sie die Datenbank, in der Sie arbeiten, noch einmal, bevor Sie SQL-Befehle ausgeben, die Daten manipulieren.

Ändern

Nachdem Sie eine Tabelle in einer Datenbank erstellt haben, ändern Sie deren Definition über die ändern Befehl, der die Struktur einer Tabelle ändert, ohne sie zu löschen und neu zu erstellen. Sehen Sie sich den folgenden Befehl an:

ALTER TABLE personal_info ADD Gehaltsgeld null;

In diesem Beispiel wird der Tabelle personal_info ein neues Attribut hinzugefügt – das Gehalt eines Mitarbeiters. Das Geld -Argument gibt an, dass das Gehalt eines Mitarbeiters im Dollar- und Cent-Format gespeichert wird. Endlich, das Null Das Schlüsselwort teilt der Datenbank mit, dass dieses Feld keinen Wert für einen bestimmten Mitarbeiter enthält.

Fallen

Der letzte Befehl der Datendefinitionssprache, fallen, entfernt ganze Datenbankobjekte aus unserem DBMS. Um beispielsweise die von uns erstellte Tabelle personal_info dauerhaft zu entfernen, verwenden Sie 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. Das fallen Befehl entfernt ganze Datenstrukturen aus Ihrer Datenbank. Wenn Sie einzelne Datensätze entfernen möchten, verwenden Sie die löschen Beherrschung der Datenbearbeitungssprache.

Sprachbefehle zur Datenmanipulation

Die Data Manipulation Language wird verwendet, um Datenbankinformationen abzurufen, einzufügen und zu ändern. Diese DML-Befehle bieten den typischen Rahmen für die routinemäßige Interaktion innerhalb der Datenbank.

Einfügen

Das einfügen Befehl fügt Datensätze zu einer vorhandenen Tabelle hinzu. Um zum Beispiel personal_info aus dem vorherigen Abschnitt zurückzukehren, stellen Sie sich vor, unsere Personalabteilung muss ihrer Datenbank einen neuen Mitarbeiter hinzufügen. Verwenden Sie einen ähnlichen Befehl wie diesen:

EINFÜGEN IN personal_info
Werte('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: Vorname, Nachname, Angestellten ID und Gehalt.

Wählen

Das wählen Befehl ist der am häufigsten verwendete Befehl in SQL. Es ruft spezifische Informationen aus einer Betriebsdatenbank ab. Sehen Sie sich einige Beispiele an, wiederum mit der Tabelle personal_info aus der Mitarbeiterdatenbank.

Der unten gezeigte Befehl ruft alle Informationen ab, die in der Tabelle personal_info enthalten sind. Das Sternchen ist ein Platzhalterzeichen in SQL.

WÄHLEN *
FROM persönliche_info;

Begrenzen Sie alternativ die Attribute, die aus der Datenbank abgerufen werden, indem Sie Folgendes angeben: Was wird ausgewählt. Beispielsweise kann die Personalabteilung eine Liste mit den Nachnamen aller Mitarbeiter des Unternehmens verlangen. Der folgende SQL-Befehl würde nur diese Informationen abrufen:

SELECT Nachname
FROM persönliche_info;

Das wo -Klausel schränkt die abgerufenen Datensätze auf diejenigen ein, 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 mit einem Gehaltswert von mehr als 50.000 US-Dollar ab:

WÄHLEN *
VON personal_info
WO Gehalt > 50000 $;

Aktualisieren

Das aktualisieren -Befehl ändert die in einer Tabelle enthaltenen Informationen entweder in großen Mengen oder einzeln. Angenommen, das Unternehmen gewährt allen Mitarbeitern jährlich eine Erhöhung der Lebenshaltungskosten um 3 Prozent. Der folgende SQL-Befehl wendet diesen Bump auf alle in der Datenbank gespeicherten Mitarbeiter an:

AKTUALISIEREN persönliche_info
SET-Gehalt = Gehalt * 1,03;

Wenn der neue Mitarbeiter Bart Simpson Leistung zeigt, die über seine Pflicht hinausgeht, möchte das Management seine herausragenden Leistungen mit einer Gehaltserhöhung von 5.000 US-Dollar würdigen. Die WHERE-Klausel hebt Bart für diese Gehaltserhöhung hervor:

AKTUALISIEREN persönliche_info
SET-Gehalt = Gehalt + 5000
WHERE Mitarbeiter_ID = 12345;

Löschen

Werfen wir zum Schluss noch einen Blick auf die löschen Befehl. Sie werden feststellen, dass die Syntax dieses Befehls der der anderen DML-Befehle ähnelt. Der DELETE-Befehl mit a wo -Klausel, einen Datensatz aus einer Tabelle entfernen:

LÖSCHEN AUS personal_info
WHERE Mitarbeiter_ID = 12345;

DML unterstützt auch Aggregatfelder. In einem wählen Anweisung, mathematische Operatoren wie Summe und Anzahl Daten innerhalb einer Abfrage zusammenfassen. Zum Beispiel die Abfrage:

wähle count(*) aus personal_info;

zählt die Anzahl der Datensätze in der Tabelle.

Datenbank-Joins

EIN beitreten -Anweisung fasst Daten in mehreren Tabellen zusammen, um große Datenmengen effizient zu verarbeiten. In diesen Anweisungen liegt die wahre Stärke einer Datenbank.

So erkunden Sie die Verwendung eines Basic beitreten Um Daten aus zwei Tabellen zu kombinieren, fahren Sie mit dem Beispiel mit der Tabelle personal_info fort und fügen dem Mix eine zusätzliche Tabelle hinzu. Angenommen, Sie haben eine Tabelle namens disziplinarische Maßnahmen das wurde mit folgender Anweisung erstellt:

CREATE TABLE disziplinarische_aktion (action_id int nicht null, employee_id int nicht null, comments char (500));

Diese Tabelle enthält die Ergebnisse von Disziplinarmaßnahmen für Mitarbeiter des Unternehmens. Es enthält keine anderen Informationen über den Mitarbeiter als die Mitarbeiternummer.

Angenommen, Sie haben die Aufgabe, einen Bericht zu erstellen, der die Disziplinarmaßnahmen gegen alle Mitarbeiter mit einem Gehalt von mehr als 40.000 US-Dollar auflistet. Die Verwendung einer JOIN-Operation ist in diesem Fall einfach. Rufen Sie diese Informationen mit dem folgenden Befehl ab:

SELECT persönliche_info.vorname, persönliche_info.nachname, disziplinarische_massnahme.comments
FROM personal_info INNER JOIN disziplinar_action ON personal_info.employee_id = disziplinar_action.employee_id
WO personal_info.salary > 40000;

Arten von Verknüpfungen

Join-Typen in SQL

Joins gibt es in verschiedenen Geschmacksrichtungen. In der SQL-Anweisung wird die erste Tabelle (normalerweise als Tabelle A oder der Linker Tisch) verbindet sich mit der zweiten Tabelle (normalerweise genannt Tabelle B oder der Rechter Tisch) in einer positionsbewussten Weise. Wenn Sie also die Reihenfolge der Tabellen in der Join-Anweisung ändern, unterscheiden sich die Ergebnisse der Operation. Zu den wichtigsten Join-Typen gehören:

  • Inner Join: Stimmt nur mit Datensätzen überein, bei denen die auf Bedingung stimmt mit denselben Datensätzen in beiden Tabellen überein.
  • Äußerer Join: Gleicht nur Datensätze aus beiden Tabellen ab, die ausschließen die in der identifizierten Ergebnisse auf Bedingung.
  • Rechter Beitritt: Entspricht allen Datensätzen aus Tabelle B plus den Datensätzen aus Tabelle A, die mit dem übereinstimmen auf Bedingung.
  • Linker Beitritt: Entspricht allen Datensätzen aus Tabelle A plus den Datensätzen aus Tabelle B, die mit dem übereinstimmen auf Bedingung.
  • Cross-Join: Gleicht alle Datensätze ab, als ob die Tabellen identisch wären. Dieser Prozess erzeugt etwas namens kartesisches Produkt. Cross-Joins sind oft unerwünscht, da sie jede Zeile von Tabelle A einzeln mit jeder Zeile von Tabelle B abgleichen. Wenn also Tabelle A fünf Datensätze und Tabelle B 9 Datensätze anbietet, bietet eine Cross-Join-Abfrage 45 resultierende Zeilen.
instagram story viewer