Wat is SQL? Volledige uitleg en basisprincipes

โšก Slimme samenvatting

Wat is SQL? Structured Query Language is de standaardtaal voor het werken met relationele databases. Hiermee kunt u schema's maken, records opvragen, rijen bijwerken, machtigingen beheren en moderne applicaties verbinden met database-engines zoals SQL. PostgreSQL, MySQL, en SQL Server.

  • ๐Ÿ“˜ Definitie: SQL staat voor Structured Query Language, een ANSI- en ISO-standaard die wordt gebruikt om gegevens in een relationele database te definiรซren, op te vragen en te beheren.
  • ๐Ÿงฉ Verklaringstypen: DDL-, DML-, DCL-, TCL- en DQL-groepsopdrachten zoals CREATE, INSERT, UPDATE, DELETE, SELECT en DROP.
  • ๏ธ Standaard: ANSI SQL:2023 voegde native JSON-ondersteuning toe en de PostgreSQL-stijl standaard eigenschapgrafiekquery's (SQL/PGQ).
  • โš™๏ธ Motoren: PostgreSQL 17, MySQL 8, Oracle 23ai en SQL Server 2022 implementeren beide grote delen van de moderne SQL-standaard.
  • ๐Ÿ†š SQL versus NoSQL: SQL dwingt schema's, joins en ACID-transacties af, terwijl NoSQL een strikte structuur opoffert voor horizontale schaalbaarheid en flexibele documenten.
  • ๐Ÿค– AI-hoek: Tekst-naar-SQL-assistenten zoals GitHub Copilot en Vanna AI vertalen nu eenvoudige Engelse vragen naar uitvoerbare SQL-query's.

Wat is SQL?

Wat is SQL?

SQL SQL is de standaardtaal voor het werken met relationele databases. Het wordt gebruikt om records in te voegen, te zoeken, bij te werken en te verwijderen, en het kan ook databases optimaliseren en onderhouden. SQL is een ANSI- en ISO-standaard, waardoor dezelfde basissyntaxis wordt gebruikt in verschillende database-engines. PostgreSQL, MySQL, Oracle, en SQL Server.

SQL volledig formulier

SQL staat voor Structured Query Language, uitgesproken als โ€œSQLโ€ of โ€œSee-Quelโ€. IBM ontwikkeld in de jaren 1970, en relationele databases zoals MySQL, Oracle Database, Microsoft SQL Server, PostgreSQLen SAP Sybase gebruikt ANSI SQL als basis.

SQL gebruiken

Je voert een SQL-query uit door een statement te schrijven waarin de bewerking, de doeltabel en eventuele filtervoorwaarden worden vermeld. Een SELECT-query die leden ouder dan 30 retourneert, ziet er als volgt uit:

SELECT * FROM Members WHERE Age > 30;

De syntaxis van databases is grotendeels hetzelfde, omdat elke belangrijke database-engine de ANSI-standaard implementeert. Een paar RDBMS-producten voegen eigen dialecten toe, bijvoorbeeld T-SQL in SQL Server en PL/SQL in SQL Server. Oracle.

Klik hier als de video niet toegankelijk is

Waarvoor wordt SQL gebruikt?

Hieronder volgen de belangrijkste redenen om SQL te gebruiken:

  • Het helpt gebruikers toegang te krijgen tot gegevens in de RDBMS-systeem.
  • Het helpt je de gegevens te beschrijven.
  • Hiermee kunt u de gegevens in een database definiรซren en die specifieke gegevens manipuleren.
  • Met behulp van SQL kunt u databases en tabellen maken en verwijderen.
  • Met SQL kun je functies in een database gebruiken, een view creรซren en opgeslagen procedures schrijven.
  • U kunt machtigingen instellen voor tabellen, procedures en weergaven.
  • SQL ondersteunt analytische taken zoals rapportage, business intelligence en het invoeren van data in machine learning-pipelines.

Een korte geschiedenis van SQL

Hier zijn belangrijke oriรซntatiepunten uit de geschiedenis van SQL:

  • 1970 โ€“ Dr. Edgar F. โ€œTedโ€ Codd beschreef een relationeel model voor databases.
  • 1974 โ€“ Structured Query Language verscheen op IBM Research.
  • 1978 - IBM System/R is uitgebracht.
  • 1986 โ€“ ANSI standaardiseerde SQL als SQL-86.
  • 1989 โ€“ De eerste commerciรซle versie van de SQL-standaard werd gepubliceerd.
  • 1999 โ€“ SQL: In 1999 werden triggers en objectgeoriรซnteerde functies toegevoegd.
  • SQL:2003 โ€“ Vensterfuncties en XML-mogelijkheden.
  • SQL:2006 โ€“ Ondersteuning voor XML-querytaal.
  • SQL:2011 โ€“ Ondersteuning voor temporele databases.
  • SQL:2016 โ€“ JSON, rijpatroonherkenning, polymorfe tabelfuncties.
  • SQL:2023 โ€“ Query's op basis van eigenschappengrafieken (SQL/PGQ) en een betere verwerking van JSON.

Soorten SQL-statements

Hieronder volgen vijf veelgebruikte SQL-instructies:

  • Gegevensdefinitietaal (DDL)
  • Taal voor gegevensmanipulatie (DML)
  • Gegevenscontroletaal (DCL)
  • Transactiecontroletaal (TCL)
  • Gegevensquerytaal (DQL)

Lijst met SQL-opdrachten

Hieronder vindt u een lijst met enkele van de meest gebruikte SQL-commando's:

  • CREATE โ€“ definieert de databasestructuur of het schema.
  • INSERT โ€“ voegt gegevens in de rijen van een tabel in.
  • UPDATE โ€“ werkt bestaande gegevens in een database bij.
  • VERWIJDEREN โ€“ verwijdert een of meer rijen uit een tabel.
  • SELECT โ€“ selecteert de kenmerken die overeenkomen met de voorwaarde beschreven in de WHERE-clausule.
  • DROP โ€“ verwijdert tabellen en databases.
  • MERGE โ€“ Voert een INSERT- of UPDATE-bewerking uit in รฉรฉn enkele instructie op basis van een overeenkomstvoorwaarde.

SQL-proces

Wanneer je een SQL-opdracht uitvoert, analyseert de database-engine de instructie, kiest een uitvoeringsplan en voert dit uit op de opslaglaag.

Belangrijke onderdelen in dit proces zijn:

  • SQL-query-engine
  • Optimalisatie-engine
  • Vraagverzender
  • Klassieke query-engine

De klassieke query-engine verwerkt niet-SQL-query's, terwijl de SQL-query-engine de gestructureerde workload verwerkt.

SQL-proces
SQL-proces

SQL-standaarden

SQL omvat het aanmaken, verwijderen, ophalen en wijzigen van rijen in databases, evenals toegangscontrole. Het is een ANSI- (American National Standards Institute) en ISO-standaard, en de huidige editie is ISO / IEC 9075: 2023, algemeen bekend als SQL:2023. De standaard is onderverdeeld in verschillende delen:

Deel Beschrijving
Deel 1 โ€“ SQL/framework Biedt de logische concepten die aan elk ander onderdeel ten grondslag liggen.
Deel 2 โ€“ SQL/Foundation Definieert de centrale syntaxis en semantiek van SQL.
Deel 3 โ€“ SQL/CLI Specificeert de aanroepinterface die wordt gebruikt door ODBC en vergelijkbare stuurprogramma's.
Deel 4 โ€“ Permanent opgeslagen modules Opgeslagen routines, externe routines en procedurele taaluitbreidingen voor SQL.
Deel 9 โ€“ Beheer van externe gegevens Voegt syntaxis en definities toe waarmee SQL toegang krijgt tot niet-SQL-gegevensbronnen zoals bestanden.
Deel 10 โ€“ Objecttaalbindingen Specificeert de syntaxis en semantiek van het inbedden van SQL in Java.
Deel 11 โ€“ SQL/Schema Informatie- en definitieschema's.
Deel 13 โ€“ SQL/JRT SQL-routines en -typen die gebruikmaken van de Java programmeertaal.
Deel 14 โ€“ SQL/XML SQL en XML, inclusief de XMLTYPE- en XQuery-integratie.
Deel 15 โ€“ SQL/MDA Biedt SQL-ondersteuning voor multidimensionale arrays.
Deel 16 โ€“ SQL/PGQ Toegevoegd in SQL:2023 om query's op eigenschapsgrafieken te definiรซren bovenop relationele tabellen.

Moderne SQL-engines

Elke engine implementeert het grootste deel van de ANSI-kern en voegt daar eigen uitbreidingen aan toe:

  • PostgreSQL 17: Open-source met strikte naleving van standaarden en uitgebreide JSON-ondersteuning.
  • MySQL 8: Populair bij webapplicaties; ondersteunt vensterfuncties, CTE's en een documentopslagmodus.
  • Microsoft SQL Server 2022: Enterprise-engine met query-intelligentie en Azure Synapsspiegeling.
  • Oracle Database 23ai: Combineert SQL met vectorzoekopdrachten en JSON-relationele dualiteitsweergaven.
  • SQLite: Een lichtgewicht, op bestanden gebaseerde engine die is ingebed in mobiele apps en browsers.

Cloudopslagplaatsen zoals Amazon roodverschuiving, Google BigQuery en Snowflake bieden ook ANSI SQL-dialecten aan, waardoor de taal overdraagbaar is van een laptop naar analyses op petabyte-schaal.

SQL-taalelementen

Hieronder volgen de belangrijkste elementen van de SQL-taal:

  • sleutelwoorden: Gereserveerde woorden zoals SELECT, FROM of WHERE vormen de basis van elke instructie.
  • ID's: Namen van databaseobjecten zoals gebruikers-ID's, tabellen en kolommen.
  • Snaren: Letterlijke tekenreeksen of expressies met gegevenstypen VARCHAR of CHAR.
  • uitdrukkingen: Opgebouwd uit constanten, SQL-operatoren, kolomnamen en subquery's.
  • Zoekvoorwaarden: Filter rijen of besturingsstructuren zoals IF.
  • Speciale waarden: Waarden zoals CURRENT_TIMESTAMP worden gebruikt in expressies en kolomstandaardwaarden.
  • variabelen: De meeste engines ondersteunen lokale, globale en verbindingsvariabelen in opgeslagen procedures.
  • Opmerkingen: Enkele regelcommentaren (โ€“) en blokcommentaren (/* */) documenteren SQL, maar worden niet uitgevoerd.
  • NULL-waarde: NULL geeft aan dat een waarde onbekend, ontbrekend of niet van toepassing is.

Wat is een database in SQL?

A databank Een tabel is een verzameling tabellen die gestructureerde gegevens opslaan. Een tabel bevat rijen (records of tuples) en kolommen (attributen).

Elke kolom bevat een specifiek type informatie, bijvoorbeeld namen, datums, geldbedragen of getallen. Relaties tussen tabellen worden afgedwongen met primaire en externe sleutels, wat de database "relationeel" maakt.

Wat is NoSQL?

NoSQL is een categorie van Databasebeheersystemen Het belangrijkste kenmerk is het niet-naleven van relationele concepten. NoSQL staat voor "Not only SQL" (niet alleen SQL). De categorie is gegroeid dankzij internetgiganten zoals... Google, Facebook en Amazondie te maken hebben met gigantische hoeveelheden data.

Wanneer relationele databases enorme hoeveelheden data verwerken, kunnen de reactietijden vertragen. Je kunt "opschalen" door de hardware te upgraden, of "uitschalen" door de belasting over meerdere hosts te verdelen.

NoSQL-databases zijn niet-relationeel winkels die ontworpen zijn voor webapplicaties. Ze gebruiken niet altijd SQL of hanteren strikte schema's, en ACID (AtomEigenschappen zoals immuniteit, consistentie, isolatie en duurzaamheid zijn niet altijd gegarandeerd, hoewel moderne systemen zoals MongoDB en Cassandra We bieden nu instelbare transactiemodi aan.



Waarom het zinvol is om SQL te leren na NoSQL

Aangezien NoSQL beter schaalbaar is dan relationele modellen, zou je je kunnen afvragen... Waarom zou iemand nog steeds SQL leren?NoSQL-databases zijn gespecialiseerd en het meest geschikt voor enorme ongestructureerde datasets, maar de meeste zakelijke applicaties vertrouwen nog steeds op relationele databases en de bijbehorende tools.

Relationele databases behouden de volgende voordelen ten opzichte van NoSQL:

  • Een volwaardig model voor gegevensopslag en -beheer, cruciaal voor zakelijke gebruikers.
  • Ondersteuning voor weergaven, waardoor gebruikers alleen geautoriseerde gegevens kunnen zien.
  • Ondersteuning voor opgeslagen procedures die bedrijfslogica naar de database verplaatsen.
  • Sterkere beveiligingsmodellen, op rollen gebaseerde toegangscontrole en auditfuncties.
  • SQL is de voertaal van BI-, dashboard- en AI-tools die gestructureerde invoer vereisen.

De vraag naar professionals die relationele databases kunnen beheren blijft hoog. groeiendeHet leren van de basisprincipes van SQL is dus nog steeds zeer waardevol.

SQL en AI: Tekst-naar-SQL-tools

SQL is tegenwoordig een doeltaal voor AI-assistenten. Tekst-naar-SQL Tools vertalen eenvoudige Engelse vragen, zoals "toon de 10 grootste klanten van het afgelopen kwartaal op basis van omzet", naar uitvoerbare SQL-code. Populaire opties zijn onder andere: GitHub-copiloot, Vanna AI, Microsoft Copiloot binnen Azure SQL, en Oracle Selecteer AI. Controleer altijd de gegenereerde SQL op correctheid, beveiliging en indexering voordat u deze uitvoert op productiedata.

De beste boeken om SQL te leren

Hieronder vind je een aantal van de beste SQL-boeken:

  • SQL-handleiding voor beginners:

    In deze SQL-zelfstudie voor beginners Deze PDF behandelt basisdatabaseconcepten, MS-SQL-opdrachten en geavanceerde onderwerpen zoals SQL-joins.

  • SQL in 10 minuten: Codevoorbeelden in kleur laten zien hoe SQL-instructies zijn opgebouwd, en bieden bovendien snelkoppelingen en kant-en-klare oplossingen. BESTEL NU
  • SQL-kookboek: Technieken zoals het doorlopen van een tekenreeks met SQL om tekens of door scheidingstekens gescheiden elementen te parseren. BESTEL NU
  • SQL: The Complete Reference: Behandelt vensterfuncties, het omzetten van rijen naar kolommen en het omgekeerd omzetten van rijen naar kolommen. BESTEL NU
  • SQL-zakgids: Deze cursus behandelt SQL-functies, de syntaxis van reguliere expressies en gegevenstypeconversie. BESTEL NU

Voor meer SQL-boeken โ€“ Klik hier

Veelgestelde vragen

SQL staat voor Structured Query Language. Het wordt uitgesproken als de drie letters "SQL" of als "See-Quel", een bijnaam die is overgenomen van het origineel. IBM Het SEQUEL-prototype werd ontwikkeld in de jaren 1970.

SQL is de gestandaardiseerde taal voor het opvragen van gegevens uit relationele databases. MySQL is een van de vele databasebeheersystemen die SQL implementeren. Andere systemen die ook SQL gebruiken zijn onder andere PostgreSQL, Microsoft SQL Server, Oracle Databaseen SQLite.

De huidige standaard is ISO/IEC 9075:2023, beter bekend als SQL:2023. Deze standaard voegde deel 16 SQL/PGQ toe voor query's op basis van eigenschappengrafieken en verduidelijkte de verwerking van JSON, voortbouwend op de JSON- en rijpatroonfuncties die in SQL:2016 werden geรฏntroduceerd.

Ja. Tekst-naar-SQL-tools zoals GitHub-copiloot, Vanna AI, en Microsoft Copiloot binnen Azure SQL zet eenvoudige Engelse prompts om in query's. Controleer de gegenereerde SQL altijd op correctheid, veiligheid en indexering voordat u deze uitvoert.

SQL bereidt de trainingsdata voor: feature engineering, joins, filters en aggregaties vinden allemaal plaats in het datawarehouse. Engines zoals Oracle 23ai, BigQuery ML en PostgreSQL Met pgvector kunt u nu rechtstreeks in SQL vectorgelijkeniszoekopdrachten uitvoeren voor het genereren van resultaten die de zoekresultaten verbeteren.

De meeste beginners kunnen na twee tot drie weken gerichte oefening basis SELECT-, INSERT-, UPDATE- en DELETE-statements schrijven. Het bereiken van een gemiddeld niveau met joins, subquery's, windowfuncties en query-optimalisatie duurt doorgaans een paar maanden van regelmatige, praktische oefening.

Vat dit bericht samen met: