De gestructureerde querytaal (SQL) is de set instructies die wordt gebruikt om te communiceren met een relationele database. In feite is SQL de enige taal die de meeste databases begrijpen. Wanneer u met een dergelijke database communiceert, vertaalt de software uw opdrachten (of het nu muisklikken of formulierinvoer zijn) naar een SQL-instructie die de database weet te interpreteren. SQL heeft drie hoofdcomponenten: de Data Manipulation Language (DML), de Data Definition Language (DDL) en de Data Control Language (DCL).
Veelvoorkomende toepassingen van SQL op internet
Als gebruiker van elk database-gestuurde softwareprogramma gebruikt u waarschijnlijk SQL, zelfs als u het niet weet. Een door een database aangestuurde dynamische webpagina (zoals de meeste websites) neemt bijvoorbeeld gebruikersinvoer uit formulieren en klikken en gebruikt deze om een SQL-query samen te stellen die informatie ophaalt uit de database die nodig is om de volgende webpagina te genereren.Overweeg het voorbeeld van een eenvoudige online catalogus met een zoekfunctie. De zoekpagina kan bestaan uit een formulier dat alleen een tekstvak bevat waarin u een zoekterm invoert en vervolgens op een zoekknop klikt. Wanneer u op de knop klikt, haalt de webserver alle records uit de productdatabase met de zoekterm op en gebruikt de resultaten om een webpagina te maken die specifiek is voor uw verzoek.Als u bijvoorbeeld naar producten zoekt met de term 'Iers', kan de server de volgende SQL-instructie gebruiken om gerelateerde producten op te halen: SELECT *VAN productenWAAR naam LIKE '% iers%'
Vertaald, haalt deze opdracht alle records uit de databasetabel met de naam "producten" op die de tekens "Iers" overal in de productnaam bevatten. De Data Manipulation Language (DML) bevat de subset van SQL-commando's die het meest worden gebruikt, namelijk die welke eenvoudig de inhoud van een database in enige vorm manipuleren. De vier meest gebruikte DML-opdrachten halen informatie op uit een database (de SELECT-opdracht), voegen nieuwe informatie toe aan een database (de INSERT-opdracht), wijzigen informatie die momenteel is opgeslagen in een database (de UPDATE-opdracht) en verwijderen informatie uit een database (de DELETE-opdracht). De Data Definition Language (DDL) bevat opdrachten die minder vaak worden gebruikt. DDL-opdrachten wijzigen de feitelijke structuur van een database in plaats van de inhoud van de database. Voorbeelden van veelgebruikte DDL-opdrachten zijn die gebruikt om een nieuwe databasetabel te genereren (CREATE TABLE), de structuur van een databasetabel aan te passen (ALTER TABLE) en een databasetabel te verwijderen (DROP TABLE). De Data Control Language (DCL) wordt gebruikt om gebruikerstoegang tot databases te beheren. Het bestaat uit twee opdrachten: de opdracht GRANT, die wordt gebruikt om databasemachtigingen toe te voegen voor een gebruiker, en de opdracht REVOKE, die wordt gebruikt om bestaande machtigingen te verwijderen. Deze twee opdrachten vormen de kern van het relationele databasebeveiligingsmodel. Gelukkig voor degenen onder ons die geen computerprogrammeurs zijn, zijn SQL-commando's ontworpen om een syntaxis vergelijkbaar met de Engelse taal te hebben. Ze beginnen gewoonlijk met een opdrachtinstructie die de te nemen actie beschrijft, gevolgd door een clausule die het doel van de opdracht beschrijft (zoals de specifieke tabel in een database waarop de opdracht betrekking heeft) en tot slot een reeks clausules die aanvullende instructies geven.Vaak geeft het hardop lezen van een SQL-verklaring u een goed idee van wat de opdracht moet doen. Neem even de tijd om dit voorbeeld van een SQL-statement te lezen: DELETEVAN studentenWHING graduation_year = 2014
Kun je raden wat deze verklaring zal doen? Het opent de studentstabel van de database en verwijdert alle records voor studenten die in 2014 zijn afgestudeerd. We hebben in dit artikel een aantal eenvoudige SQL-voorbeelden bekeken, maar SQL is een brede en krachtige taal. Zie SQL Fundamentals voor een meer diepgaande introductie. Data Manipulatie Taal
Taal voor gegevensdefinitie
Data Control Language
Structuur van een SQL-opdracht
SQL-programmeertaal leren




