SQL
Staat voor "Structured Query Language."
SQL is een querytaal die wordt gebruikt om informatie in een database te openen en te wijzigen. Webontwikkelaars gebruiken SQL om websites en webapplicaties met databases te verbinden en dynamische webpagina's te maken die telkens wanneer ze worden geladen actuele informatie kunnen weergeven. SQL is een standaardtaal voor databasequery's die door veel verschillende databasebeheersystemen wordt gebruikt, zoals Oracle Database en MySQL.
Websites en webapps gebruiken SQL-instructies om relationele databases te doorzoeken. Deze slaan gegevens op in tabellen, rijen (die database-items voorstellen) en kolommen (voor de kenmerken van die items). Een e-commercewebsite die zijn voorraad in een database beheert, zou zijn producten bijvoorbeeld opslaan in een tabel: elk product als een rij en informatie over elk product, zoals prijs, formaat en kleur, als kolommen. Wanneer je de webpagina van een artikel bekijkt, gebruikt de webserver een scripttaal zoals PHP om een of meer SQL-query's uit te voeren en de informatie over dat product op te halen. Vervolgens voegt de server de resultaten toe aan de HTML-pagina. Als de prijs van dat product in de database verandert, wordt die nieuwe informatie weergegeven wanneer je die webpagina de volgende keer laadt.
De meest gebruikte SQL-opdracht is SELECT, waarmee informatie uit een tabel wordt opgehaald. De opdracht kan alle informatie in een tabel ophalen of alleen records die aan bepaalde criteria voldoen. De volgende query haalt bijvoorbeeld alle klantrecords op met de opgegeven postcode.
SELECT * FROM Customers WHERE Zip='55400';
De onderstaande query haalt de prijs van een bepaald product op:
SELECT Price FROM Products WHERE ProductID=47988;
Met de opdracht UPDATE wordt de informatie in een opgegeven tabel, rij en kolom gewijzigd. Met INSERT INTO worden nieuwe records gemaakt en met DELETE FROM wordt een record verwijderd.
NOTE: Als de ontwikkelaar van een website gebruikersinvoer niet goed valideert en de toegang tot databases niet beheert, kan de website kwetsbaar zijn voor een SQL-injectieaanval. Met een SQL-injectie kan een aanvaller schadelijke SQL-instructies naar een database sturen die normaal gesproken niet zouden worden toegestaan, bijvoorbeeld om een volledige lijst met namen, adressen en creditcardnummers van klanten op te halen.
Test je kennis