SQL-opdrachten: DQL, DDL, DML, DCL en TCL met voorbeelden

โšก Slimme samenvatting

SQL-opdrachten zijn onderverdeeld in vijf subtalen die een relationele database beheren. DDL definieert de structuur, DML wijzigt gegevens, DCL regelt de toegang, TCL beheert transacties en DQL haalt gegevens op, elk met een eigen set instructies en syntaxis.

  • ???? ๏ธ DOF: CREATE, DROP, ALTER en TRUNCATE definiรซren en wijzigen het schema van tabellen en databases.
  • โ€‹ DML: INSERT, UPDATE en DELETE wijzigen de rijen in een tabel.
  • ๐Ÿ”‘ DCL: GRANT en REVOKE verlenen en verwijderen toegangsrechten tot databaseobjecten.
  • ๐Ÿ”„ TCL: COMMIT, ROLLBACK en SAVEPOINT bepalen hoe transacties worden opgeslagen of ongedaan gemaakt.
  • ๐Ÿ” DQL: SELECT haalt rijen op, gefilterd door de WHERE-clausule.
  • ๏ธ Standaardtaal: Elk belangrijk RDBMS, van MySQL naar Oracle En SQL Server gebruikt SQL.
  • โš ๏ธ Belangrijkste contrast: TRUNCATE en DELETE wissen beide rijen, maar TRUNCATE is een DDL-bewerking en werkt niet rij voor rij.

SQL-opdrachten: DQL, DDL, DML, DCL, TCL

Wat is SQL?

SQL is een databasetaal die is ontworpen voor het ophalen en beheren van gegevens in een relationele database.

SQL is de standaardtaal voor databasebeheer. Alle RDBMS-systemen houden van MySQL, MS-toegang, OracleSybase, PostgreSQL en SQL Server gebruiken SQL als hun standaard databasetaal. De SQL-programmeertaal gebruikt verschillende commando's voor diverse bewerkingen. We zullen de DCL-, TCL-, DQL-, DDL- en DML-commando's in SQL leren kennen aan de hand van voorbeelden.

Waarom SQL gebruiken?

Hieronder volgen belangrijke 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-opdrachten kunt u databases en tabellen aanmaken en verwijderen.
  • Met SQL kun je functies in een database gebruiken en weergaven en opgeslagen procedures maken.
  • U kunt machtigingen instellen voor tabellen, procedures en weergaven.

Korte geschiedenis van SQL

Hieronder vindt u belangrijke bezienswaardigheden uit de geschiedenis van SQL:

  • 1970 โ€“ Dr. Edgar F. โ€œTedโ€ Codd beschreef een relationeel model voor databases.
  • 1974 โ€“ Structured Query Language verscheen, oorspronkelijk genaamd SEQUEL. IBM.
  • 1979 - Oracle bracht de eerste commercieel verkrijgbare SQL-gebaseerde database uit, gebaseerd op IBMHet System R-onderzoeksprototype van 's.
  • 1986 โ€“ ANSI publiceerde de eerste SQL-standaard, SQL-86.
  • 1989 โ€“ SQL-89 verscheen als de eerste herziening van de standaard.
  • 1992 โ€“ SQL-92 (SQL2) werd de belangrijkste basisstandaard die tot op de dag van vandaag nog steeds door de meeste databases wordt gebruikt.
  • 1999 โ€“ SQL: SQL3 werd gelanceerd met functies zoals triggers, recursieve query's en objectgeoriรซnteerd programmeren.
  • 2003 โ€“ SQL: In 2003 werden vensterfuncties, sequentiegeneratoren en XML-gerelateerde functies toegevoegd.
  • 2006 โ€“ SQL:2006 voegde ondersteuning toe voor XML Query Language (XQuery).
  • 2008 โ€“ SQL: SQL 2008 introduceerde de TRUNCATE-instructie en INSTEAD OF-triggers.
  • 2011 โ€“ SQL:2011 verbeterde ondersteuning voor temporele databases.
  • 2016 โ€“ SQL:2016 voegde ondersteuning voor JSON en rijpatroonherkenning (MATCH_RECOGNIZE) toe.
  • 2019 โ€“ SQL/MDA (deel 15) voegde ondersteuning voor multidimensionale arrays toe aan de standaard.
  • 2023 โ€“ SQL: In 2023 werd een native JSON-datatype en property graph queries (SQL/PGQ) toegevoegd.
  • 2024 โ€“ GQL, de eerste nieuwe ISO-databasetaal sinds SQL, werd gepubliceerd als een aanvullende standaard voor grafiekquery's.
  • 2026 โ€“ SQL:2023 blijft de huidige standaard, de volgende herziening is in ontwikkeling bij ISO/IEC.

Soorten SQL-opdrachten

Hieronder volgen vijf veelgebruikte SQL-opdrachten:

  • Gegevensdefinitietaal (DDL)
  • Taal voor gegevensmanipulatie (DML)
  • Gegevenscontroletaal (DCL)
  • Transactiecontroletaal (TCL)
  • Gegevensquerytaal (DQL)
Soorten SQL-opdrachten
Soorten SQL

De onderstaande tabel geeft een overzicht van de vijf categorieรซn, waarna elke categorie in detail wordt besproken.

Categorie Doel Belangrijkste commando's
DDL Definieer structuur CREร‹REN, VERWIJDEREN, WIJZIGEN, INTREKKEN
DML Gegevens wijzigen INVOEGEN, UPDATEN, VERWIJDEREN
DCL Toegang beheren VERLENEN, INTREKKEN
TCL Beheer transacties COMMIT, ROLLBACK, SAVEPOINT
DQL Informatie ophalen SELECT

Wat is DDL?

Data Definition Language (DDL) helpt je bij het definiรซren van de databasestructuur of het schema. Laten we de DDL-opdrachten en hun syntaxis eens bekijken. De belangrijkste DDL-opdrachten in SQL zijn CREATE, DROP, ALTER en TRUNCATE.

CREATE

De CREATE-instructie wordt gebruikt om de databasestructuur of het schema te definiรซren:

Syntax:

CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);

Bijvoorbeeld:

Create database university;
Create table students;
Create view for_students;

DROP

Met het DROP-commando worden tabellen en databases uit het RDBMS verwijderd.

Syntax:

DROP TABLE ;

Bijvoorbeeld:

Drop object_type object_name;
Drop database university;
Drop table student;

ALTER

Met het ALTER-commando kunt u de structuur van de database wijzigen.

Syntax: Een nieuwe kolom aan de tabel toevoegen:

ALTER TABLE table_name ADD column_name COLUMN-definition;

Een bestaande kolom in de tabel wijzigen:

ALTER TABLE MODIFY(COLUMN DEFINITION....);

Bijvoorbeeld:

Alter table guru99 add subject varchar;

AFKNOPEN

Deze opdracht wordt gebruikt om alle rijen uit de tabel te verwijderen en de ruimte vrij te maken die de tabel bevat.

Syntax:

TRUNCATE TABLE table_name;

Voorbeeld:

TRUNCATE table students;

Wat is datamanipulatietaal?

Data Manipulation Language (DML) stelt u in staat om een โ€‹โ€‹database-instantie te wijzigen door gegevens in te voegen, te wijzigen en te verwijderen. Het is verantwoordelijk voor het uitvoeren van alle soorten gegevenswijzigingen in een database. De belangrijkste DML-opdrachten in SQL zijn:

  • INSERT
  • UPDATE
  • VERWIJDEREN

INSERT

Deze instructie wordt gebruikt om gegevens in de rijen van een tabel in te voegen.

Syntax:

INSERT INTO TABLE_NAME (col1, col2, col3,.... col N)
VALUES (value1, value2, value3, .... valueN);
Or
INSERT INTO TABLE_NAME
VALUES (value1, value2, value3, .... valueN);

Bijvoorbeeld:

INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');

UPDATE

Deze opdracht wordt gebruikt om de waarde van een kolom in de tabel bij te werken of te wijzigen.

Syntax:

UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]

Bijvoorbeeld:

UPDATE students
SET FirstName = 'Jhon', LastName= 'Wick'
WHERE StudID = 3;

VERWIJDEREN

Deze opdracht wordt gebruikt om een โ€‹โ€‹of meer rijen uit een tabel te verwijderen.

Syntax:

DELETE FROM table_name [WHERE condition];

Bijvoorbeeld:

DELETE FROM students
WHERE FirstName = 'Jhon';

Wat is DCL?

DCL (Data Control Language) bevat commando's zoals GRANT en REVOKE, die nuttig zijn voor het toekennen van rechten en machtigingen. Andere commando's beheren parameters van het databasesysteem.

Grant

Met dit commando geef je een gebruiker toegang tot een database.

Syntax:

GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;

Bijvoorbeeld:

GRANT SELECT ON Users TO'Tom'@'localhost;

Revokay

Dit commando is handig om de rechten van de gebruiker terug te nemen.

Syntax:

REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}

Bijvoorbeeld:

REVOKE SELECT, UPDATE ON student FROM BCA, MCA;

Wat is TCL?

Transaction Control Language, ofwel TCL-commando's, verwerken transacties binnen de database. Ze werken rechtstreeks met de statussen die hieronder worden beschreven. transactiebeheer.

Plegen

Deze opdracht wordt gebruikt om alle transacties in de database op te slaan.

Syntax:

Commit;

Bijvoorbeeld:

DELETE FROM Students
WHERE RollNo =25;
COMMIT;

Rollback

Met de Rollback-opdracht kunt u transacties ongedaan maken die nog niet in de database zijn opgeslagen.

Syntax:

ROLLBACK;

Voorbeeld:

DELETE FROM Students
WHERE RollNo =25;

OPSLAGPUNT

Met deze opdracht kunt u een opslagpunt instellen binnen een transactie.

Syntax:

SAVEPOINT SAVEPOINT_NAME;

Voorbeeld:

SAVEPOINT RollNo;

Wat is DQL?

Data Query Language (DQL) wordt gebruikt om gegevens uit de database op te halen. Het gebruikt slechts รฉรฉn commando: SELECT.

SELECT

Met dit commando kunt u de attributen selecteren op basis van de voorwaarde die wordt beschreven in de WHERE-clausule.

Syntax:

SELECT expressions
FROM TABLES
WHERE conditions;

Bijvoorbeeld:

SELECT FirstName
FROM Student
WHERE RollNo > 15;

DELETE vs TRUNCATE vs DROP

Deze drie commando's verwijderen alle drie gegevens, maar ze verschillen in wat ze verwijderen en of de actie ongedaan gemaakt kan worden. Het verwarren ervan is een veelgemaakte beginnersfout.

Aspect VERWIJDEREN AFKNOPEN DROP
Categorie DML DDL DDL
Verwijdert Geselecteerde rijen Alle rijen De hele tafel
WHERE-clausule Toegestaan Niet toegestaan Niet van toepassing
Rollback Mogelijk Meestal niet Niet mogelijk
Structuur behouden Ja Ja Nee

Kortom, gebruik DELETE om specifieke rijen te verwijderen, TRUNCATE om een โ€‹โ€‹tabel snel leeg te maken en DROP om de tabel volledig te verwijderen.

Veelgestelde vragen

DELETE is een DML-opdracht die geselecteerde rijen verwijdert en ongedaan kan worden gemaakt. TRUNCATE is een DDL-opdracht die alle rijen in รฉรฉn keer verwijdert, sneller is en meestal niet ongedaan kan worden gemaakt.

Ze behoren tot de Data Control Language, ofwel DCL. GRANT verleent een gebruiker privileges op een databaseobject, en REVOKE neemt die privileges weer af. Samen regelen ze de toegang en de beveiliging.

Ja. Tekst-naar-SQL-modellen zetten een verzoek in natuurlijke taal om in een SELECT-query of een andere query op basis van een bekend schema. Controleer de gegenereerde query altijd voordat u deze uitvoert op productiedata.

Ja. Door het uitvoeringsplan te analyseren, kan AI een index, een herschreven join of een WHERE-wijziging voorstellen die de kosten verlaagt. De suggestie moet worden getest, aangezien het snelste plan afhankelijk is van de data.

DDL definieert of wijzigt de structuur van de database, zoals tabellen en kolommen. DML wijzigt de gegevens in die structuur door middel van INSERT, UPDATE en DELETE. Structuur versus inhoud is het belangrijkste verschil.

Vat dit bericht samen met: