DB-EnginesInfluxDB download bannerEnglish
Deutsch
Informationen zu relationalen und NoSQL DatenbankmanagementsystemenEin Service von solid IT

Enzyklopädie > Artikel

SQL

SQL (Structured Query Language) ist die Datenbanksprache zum Umgang mit relationalen (=tabellenorientierten) Strukturen. SQL ist seit 1986 durch ISO Normen in mehreren Versionen standardisiert (ISO/IEC 9075, der aktuelle Standard hat über 2000 Seiten) und wird von nahezu jedem relationalen Datenbankmanagementsystem unterstützt, wobei allerdings jede Implementierung in mehr oder weniger wichtigen Eigenheiten vom Standard abweicht.

SQL ist eine deskriptive Sprache, d.h. es wird das gewünschte Ergebnis spezifiziert, aber nicht (im Unterschied zu Programmiersprachen wie z.B. Java, C oder PHP) der Weg dorthin.

Die Befehle von SQL gliedern sich in:

  • Data Definition Language (DDL): Befehle zur Definition des Datenbankschemas; beispielsweise zum Anlegen, Löschen, oder Ändern einer Tabelle.
    Beispiel:
    CREATE TABLE abteilungen (abtlgnr INT, abtlgname CHAR(30));
  • Data Manipulation Language (DML): Befehle zur Datenmanipulation; beispielsweise zum Einfügen, Löschen, Ändern oder Abfragen von Sätzen einer Tabelle.
    Beispiele:
    INSERT INTO abteilungen VALUES (25, 'Entwicklungsabteilung');
    SELECT * FROM abteilungen WHERE abtlgnr > 20;
  • Data Control Language (DCL): Befehle zur Transaktionskontrolle und Rechteverwaltung; beispielsweise zum Abschließen oder Zurücknehmen einer Transaktion oder zur Vergabe von Benutzerberechtigungen.
    Beispiele:
    COMMIT;
    GRANT SELECT ON abteilungen TO maier;

Der SQL-Standard definiert eine Vielzahl von Datentypen für Zahlen, Zeichenketten, binäre Strings, Datumsobjekte und 'große Objekte' (BLOB), wie beispielsweise Bilder oder auch Texte. In optionalen Erweiterungen des Standards werden unter anderem auch benutzerdefinierte Datentypen, nicht skalare Typen (ARRAY) und einfache objektorientierte Funktionalitäten definiert. Die Verfügbarkeit dieser Optionen variiert allerdings sehr stark zwischen den einzelnen Datenbankmanagementsystemen.

Einbettung in Programmiersprachen

SQL kann auch in Programmiersprachen eingebettet werden. Dabei gibt es unterschiedliche Varianten:

  • Embedded SQL: Die SQL-Statements stehen direkt im Source Code und werden mit einem PreCompiler in Funktionsaufrufe der Zielsprache übersetzt.
  • Aufruf von Programmierschnittstellen: Dabei werden die SQL-Statements als Parameter sprachspezifischen Funktionsaufrufen übergeben. Bekannte Beispiele dafür sind JDBC, ODBC und ADO.
  • Nutzung von Persistenzframeworks: Dabei wird durch Verwendung spezifischer (meist objektorientierter) Frameworks der Zugriff auf die Datenbank abstrahiert. Der wohl bekannteste Vertreter dafür ist Hibernate.


Featured Products

Redis logo

Hosted, serverless DBaaS
in 3 steps.

30MB Free!
Start now.

Neo4j logo

Get your free copy of the new O'Reilly book Graph Algorithms with 20+ examples for
machine learning, graph analytics and more.

Couchbase logo

SQL + JSON + NoSQL.
Power, flexibility & scale.
All open source.
Get started now.

RavenDB logo

Setup a fully managed RavenDB Cloud Database in minutes. Enjoy hosting, management, backups all in one place.
Grab a Free Instance

Präsentieren Sie hier Ihr Produkt