DB-EnginesInfluxDB: Focus on building software with an easy-to-use serverless, scalable time series platformEnglish
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

Cassandra Forward online event

Want to level up your Cassandra game?
If you missed the event or would like to re-watch a session, replays are available now. Watch now!

Redis logo

The world’s most loved real‑time data platform.
Try free

MariaDB logo

SkySQL, the ultimate
MariaDB cloud, is here.

Get started with SkySQL today!

Neo4j logo

See for yourself how a graph database can make your life easier.
Use Neo4j online for free.

Vertica logo

Vertica Accelerator. The fastest analytics and machine learning, delivered as SaaS, with automated setup, administration, and management. Free trial.

Präsentieren Sie hier Ihr Produkt