SQL
Steht für „Structured Query Language“.
SQL ist eine Abfragesprache, mit der auf Informationen in einer Datenbank zugegriffen und diese geändert werden können. Webentwickler verwenden SQL, um Websites und Webanwendungen mit Datenbanken zu verbinden und dynamische Webseiten zu erstellen, die bei jedem Laden aktuelle Informationen anzeigen können. SQL ist eine Standardsprache für Datenbankabfragen, die von vielen verschiedenen Datenbankverwaltungssystemen wie Oracle Database und MySQL verwendet wird.
Websites und Web-Apps verwenden SQL-Anweisungen, um relationale Datenbanken abzufragen. Diese speichern Daten in Tabellen, Zeilen (die Datenbankeinträge darstellen) und Spalten (für die Attribute dieser Einträge). Eine E-Commerce-Website, die ihren Bestand in einer Datenbank verwaltet, würde ihre Produkte beispielsweise in einer Tabelle speichern — jedes Produkt als Zeile und Informationen über jedes Produkt, etwa Preis, Größe und Farbe, als Spalten. Wenn Sie die Webseite eines Artikels aufrufen, verwendet der Webserver eine Skriptsprache wie PHP, um eine oder mehrere SQL-Abfragen auszuführen und die Informationen zu diesem Produkt abzurufen. Anschließend fügt er die Ergebnisse in die HTML-Seite ein. Wenn sich der Preis dieses Produkts in der Datenbank ändert, werden die neuen Informationen beim nächsten Laden dieser Webseite angezeigt.
Der häufigste SQL-Befehl ist SELECT. Er ruft Informationen aus einer Tabelle ab. Dabei können alle Informationen in einer Tabelle oder nur Datensätze abgerufen werden, die bestimmte Kriterien erfüllen. Die folgende Abfrage ruft beispielsweise alle Kundendatensätze aus der angegebenen Postleitzahl ab.
SELECT * FROM Customers WHERE Zip='55400';
Die folgende Abfrage ruft den Preis eines bestimmten Produkts ab:
SELECT Price FROM Products WHERE ProductID=47988;
Der Befehl UPDATE ändert die in einer bestimmten Tabelle, Zeile und Spalte gespeicherten Informationen. Mit INSERT INTO werden neue Datensätze erstellt, während DELETE FROM einen Datensatz entfernt.
NOTE: Wenn der Entwickler einer Website Benutzereingaben nicht ordnungsgemäß überprüft und den Zugriff auf die Datenbanken nicht kontrolliert, ist die Website möglicherweise durch einen SQL-Injection-Angriff gefährdet. Eine SQL-Injection ermöglicht es einem Angreifer, schädliche SQL-Anweisungen an eine Datenbank zu senden, die normalerweise nicht erlaubt wären — beispielsweise, um eine vollständige Liste der Namen, Adressen und Kreditkartennummern von Kunden abzurufen.
Testen Sie Ihr Wissen