Definition „Structured Query Language“

Was ist SQL?

| Autor / Redakteur: tutanch / Stephan Augsten

Die meisten der existierenden Datenbanksysteme verfügen über SQL-Schnittstellen.
Die meisten der existierenden Datenbanksysteme verfügen über SQL-Schnittstellen. (© alphaspirit - Fotolia.com)

Die Abkürzung SQL steht für den Begriff Structured Query Language und bezeichnet eine Sprache für die Kommunikation mit relationalen Datenbanken. Mit SQL-Befehlen lassen sich Daten relativ einfach einfügen, verändern oder löschen.

Die Grundzüge von SQL

Die Datenbanksprache SQL zeichnet sich durch ihre einfach gehaltene Syntax aus. Sie basiert auf der relationalen Algebra und besteht semantisch im Wesentlichen aus englischen Sprachelementen. SQL ist standardisiert und kann plattformübergreifend mit vielen Datenbanksystemen genutzt werden. Es existieren verschiedene SQL-Dialekte, die eine hundertprozentige Kompatibilität verhindern.

Die meisten der existierenden Datenbanksysteme verfügen über SQL-Schnittstellen und ermöglichen den Zugang zu den gespeicherten Daten über die universelle SQL-Datenbanksprache. Die eigentlichen SQL-Abfragen sind mit wenig Aufwand zu bewerkstelligen, da für einen Großteil der Anweisungen nur wenige unterschiedliche Befehle bekannt sein müssen.

Die verschiedenen Kategorien der SQL-Befehle

Neben Befehlen zum Anlegen, Bearbeiten und Löschen von Daten besitzt SQL Elemente für die Definition von Datenstrukturen und zur Abfrage von Datenbeständen. Grundsätzlich kann zwischen drei verschiedenen Kategorien von SQL-Befehlen unterschieden werden. Diese Kategorien sind:

  • DML-Befehle (Data Manipulation Language)
  • DDL-Befehle (Data Definition Language)
  • DCL-Befehle (Data Control Language)

Während DML-Befehle zum Bearbeiten, Einfügen oder Löschen von Daten oder für den lesenden Zugriff auf die Datenbank vorgesehen sind, lassen sich die DDL-Befehle für die Definition des Schemas einer Datenbank verwenden. DCL-Befehle schließlich dienen dazu, einzelne Rechte zu verwalten oder Transaktionen zu kontrollieren.

Abfragen von Daten aus der Datenbank werden mit dem Befehl „SELECT“ eingeleitet, dem weitere Befehle wie „FROM“ oder „WHERE“ folgen. Im Rahmen einer Abfrage ermöglicht SQL, das Ergebnis in Tabellenform auszugeben und diese Daten als neue Tabelle weiterzuverwenden oder zu bearbeiten.

Beispiele für SQL-Befehle der verschiedenen Kategorien

Im Folgenden einige Befehlsbeispiele aus den verschiedenen SQL-Kategorien.

Wichtige DML-Befehle

  • SELECT FROM ... für das Lesen von Daten aus Tabellen
  • DELETE FROM ... für das Löschen von Daten in Tabellen
  • INSERT INTO ... für das Einfügen von Daten in Tabellen

Wichtige DDL-Befehle

  • CREATE TABLE ... - für das Anlegen von Tabellen
  • DROP INDEX ... für das Löschen eines Index
  • ALTER TABLE ... für das Ändern von Tabellen

Wichtige DCL-Befehle

  • GRANT ON TO ... für die Weitergabe von Rechten an einer Tabelle zu einem bestimmten User
  • REVOKE ... für das Widerrufen von Rechten

Datentypen in SQL

Mit Befehlen wie „CREATE TABLE“ oder „ALTER TABLE“ lassen sich per SQL Tabellen und Spalten anlegen, für die jeweils ein Datentyp zu definieren ist. Zu diesem Zweck sind in SQL viele verschiedene Datentypen vorgesehen. Wichtige Standarddatentypen sind beispielsweise:

  • Integer für ganze Zahlen
  • Numeric und Decimal für Festkommazahlen
  • Float, Real und Double für Gleitkommazahlen
  • Charakter und Text für Zeichenketten
  • Date und Time für Datums- und Zeitangaben
  • diverse Binärformate wie Blob
  • viele weitere mehr

Programmieren mit SQL

Bei der Datenbanksprache SQL handelt es sich um keine vollwertige Programmiersprache. Mit den SQL-Befehlen selbst können daher keine vollständigen Programme erstellt werden. Allerdings lässt sich SQL sehr gut mit anderen Programmiersprachen kombinieren oder in Programme einbetten. Hierfür kommen verschiedene Techniken wie Embedded SQL, Programmierschnittstellen oder Frameworks zum Einsatz.

Bei den SQL-Befehlen kann zwischen dynamischem und statischem SQL unterschieden werden. Während statische SQL-Anweisungen beim Zeitpunkt der Übersetzung des Programms festgelegt sind, sind dynamische SQL-Anweisungen erst direkt zum Zeitpunkt der Programmausführung bekannt. Dadurch müssen die SQL-Anweisungen direkt zur Laufzeit der Programme durch das Datenbanksystem interpretiert werden.

SQL im Zusammenspiel mit PHP für die Darstellung dynamischer Internetinhalte

Ein weit verbreitetes Anwendungsgebiet von SQL ist die Verwendung zusammen mit der Skriptsprache PHP (Hypertext Preprocessor). Der Großteil der im World Wide Web erreichbaren Internetauftritte, Onlineshops und Internetservices basiert auf der Kombination von PHP-Anweisungen und SQL-Datenbanken.

Beispielsweise nutzen fast alle gängigen Content-Management-Systeme wie WordPress diese Technik, um Webinhalte dynamisch zu erzeugen. Hierfür werden auf dem Webserver PHP-Skripte abgelegt, die der Anwender mit seinem Browser aufruft. Ist ein PHP-Dokument angefordert, führt der Webserver das Skript mit Hilfe seines PHP-Interpreters aus.

Im PHP-Code befinden sich auch SQL-Befehle, mit denen auf die Inhalte einer auf dem Server hinterlegten Datenbank zugegriffen werden kann. Der Webserver erzeugt mit den PHP-Befehlen und den Inhalten aus der SQL-Datenbank eine HTML-Seite, die der Browser des Anwenders lädt und anzeigt.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

IAST – die Zukunft der Anwendungstests?

Interactive Application Security Testing

IAST – die Zukunft der Anwendungstests?

Interactive Application Security Testing, kurz IAST, bietet erhebliche Vorteile gegenüber einigen anderen Testmethoden. Warum das Softwaresicherheits-Toolkit ohne IAST nicht vollständig ist, soll dieser Beitrag beleuchten. lesen

Datenstrom-Analyse für Java-Entwickler unter AWS

Amazon Kinesis Data Analytics

Datenstrom-Analyse für Java-Entwickler unter AWS

Die Echtzeit-Datenstrom-Analyse mit Amazon Kinesis ist jetzt auch für Java-Entwickler verfügbar. Hierfür können sie Apache Flink und das AWS SDK for Java als Bibliotheken in der integrierten Entwicklungsumgebung ihrer Wahl einbinden. lesen

Konzeption und Planung eines SSDL nach BSI

Secure Software Development Lifecycle, Teil 2

Konzeption und Planung eines SSDL nach BSI

Hier stellen wir das Konzept des sicheren Softwareentwicklungs-Lebenszyklus nach BSI in der zweiten Phase, sprich Konzeption und Planung vor. In der ersten Phase, die wir bereits kennengelernt haben, ging es nämlich nur darum, die Rahmenbedingungen festzulegen. lesen

Microsoft Azure DevOps Server 2019 RC1 verfügbar

Potenzielles Upgrade für Team Foundation Server

Microsoft Azure DevOps Server 2019 RC1 verfügbar

Microsoft hat mit dem Azure DevOps Server 2019 RC1 den ersten Release Candidate einer On-Premises-Plattform für „Azure DevOps“ veröffentlicht. Damit spricht der Hersteller Kunden an, die eine isolierte Umgebung benötigen oder in einer Region ohne Azure-Anbindung beheimatet sind. lesen

Legacy-Anwendungen mit Docker migrieren

Docker Enterprise 2.1 und Windows Server 2008

Legacy-Anwendungen mit Docker migrieren

Mit Docker Enterprise 2.1 kommt ein neuer Dienst, der die Migration betagter Server-Anwendungen unter Windows Server 2008 erleichtern soll. Die Support-Endfrist für Windows Server 2008 ist der 14. Januar 2020. Danach werden Sicherheitsupdates nicht mehr regelmäßig veröffentlicht. lesen

Data-Lake-Strategie mit AWS Data Ingest umsetzen

Tools und Workflows zur Datenspeicherung in AWS, Teil 2

Data-Lake-Strategie mit AWS Data Ingest umsetzen

Die grundlegenden Technologien und Produkte, die AWS zur Datenspeicherung anbietet, haben wir bereits kennengelernt. Nun wollen wir in demonstrieren, wie Unternehmen mit den Mitteln von AWS eine Data-Lake-Strategie entwickeln können. lesen

PostgreSQL 11 verfügbar

Open-Source-Datenbanksystem mit Leistungsverbesserung

PostgreSQL 11 verfügbar

Das PostgreSQL-Team hat ein größeres Update seiner relationalen Open-Source-Datenbank vorgestellt. PostgreSQL 11 bietet Leistungssteigerungen und spezifische Verbesserungen für große Datenbanken und hohe Rechenlast. lesen

Development-Schwerpunkt bei den IT-Tagen

Java-Konferenz in Frankfurt am Main

Development-Schwerpunkt bei den IT-Tagen

Softwareentwicklung und Architekturen, Datenbanken, Agile, DevOps und IT-Betrieb – all diese Themen spielen bei den IT-Tagen in Frankfurt am Main eine große Rolle. Mit den Java-Tagen sollen Entwicklerinnen und -Entwickler zusätzlich gezielt angesprochen werden. lesen

OWASP – Community für Anwendungssicherheit

Open Web Application Security Project

OWASP – Community für Anwendungssicherheit

OWASP ist eine offene Community mit Fokus auf dem Thema IT-Security in Anwendungen mit Schwerpunkt auf Web-Anwendungen. Neben guten Infos gibt es auch spannende Tools für Entwickler und Security-Interessierte. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44551343 / Definitionen)