Εντολές SQL: DQL, DDL, DML, DCL & TCL με παραδείγματα
⚡ Έξυπνη Σύνοψη
Οι εντολές SQL ομαδοποιούνται σε πέντε υπογλώσσες που διαχειρίζονται μια σχεσιακή βάση δεδομένων. Η DDL ορίζει τη δομή, η DML αλλάζει δεδομένα, η DCL ελέγχει την πρόσβαση, η TCL διαχειρίζεται συναλλαγές και η DQL ανακτά δεδομένα, καθεμία με το δικό της σύνολο δηλώσεων και σύνταξης.

Τι είναι η SQL;
SQL είναι μια γλώσσα βάσης δεδομένων που έχει σχεδιαστεί για την ανάκτηση και διαχείριση δεδομένων σε μια σχεσιακή βάση δεδομένων.
Η SQL είναι η τυπική γλώσσα για τη διαχείριση βάσεων δεδομένων. Όλα τα συστήματα RDBMS όπως MySQL, MS Access, OracleΤα , Sybase, Postgres και SQL Server χρησιμοποιούν την SQL ως την τυπική γλώσσα προγραμματισμού βάσεων δεδομένων. Η γλώσσα προγραμματισμού SQL χρησιμοποιεί διάφορες εντολές για διαφορετικές λειτουργίες. Θα μάθουμε για τις εντολές DCL, TCL, DQL, DDL και DML στην SQL με παραδείγματα.
Γιατί να χρησιμοποιήσετε την SQL;
Ακολουθούν σημαντικοί λόγοι για τη χρήση της SQL:
- Βοηθά τους χρήστες να έχουν πρόσβαση σε δεδομένα στο Σύστημα RDBMS.
- Σας βοηθά να περιγράψετε τα δεδομένα.
- Σας επιτρέπει να ορίσετε τα δεδομένα σε μια βάση δεδομένων και να χειριστείτε αυτά τα συγκεκριμένα δεδομένα.
- Με τη βοήθεια εντολών SQL, μπορείτε να δημιουργήσετε και να αποθέσετε βάσεις δεδομένων και πίνακες.
- Η SQL σάς επιτρέπει να χρησιμοποιείτε συναρτήσεις σε μια βάση δεδομένων και να δημιουργείτε προβολές και αποθηκευμένες διαδικασίες.
- Μπορείτε να ορίσετε δικαιώματα σε πίνακες, διαδικασίες και προβολές.
Σύντομο ιστορικό της SQL
Εδώ είναι σημαντικά ορόσημα από την ιστορία της SQL:
- 1970 – Ο Δρ Edgar F. "Ted" Codd περιέγραψε ένα σχεσιακό μοντέλο για βάσεις δεδομένων.
- 1974 – Εμφανίζεται η Δομημένη Γλώσσα Ερωτημάτων, με αρχική ονομασία SEQUEL στο IBM.
- 1979 - Oracle κυκλοφόρησε την πρώτη εμπορικά διαθέσιμη βάση δεδομένων βασισμένη σε SQL, βασισμένη σε IBMΤο ερευνητικό πρωτότυπο του System R.
- 1986 – Το ANSI δημοσίευσε το πρώτο πρότυπο SQL, το SQL-86.
- 1989 – Κυκλοφορεί το SQL-89 ως η πρώτη αναθεώρηση του προτύπου.
- 1992 – Η SQL-92 (SQL2) έγινε η κύρια γραμμή βάσης στην οποία αναφέρονται ακόμη και σήμερα οι περισσότερες βάσεις δεδομένων.
- 1999 – Κυκλοφορεί το SQL:1999 (SQL3) με λειτουργίες όπως εναύσματα, αναδρομικά ερωτήματα και προσανατολισμό αντικειμένων.
- 2003 – Η SQL:2003 πρόσθεσε συναρτήσεις παραθύρων, γεννήτριες ακολουθιών και λειτουργίες που σχετίζονται με XML.
- 2006 – Η SQL:2006 πρόσθεσε υποστήριξη για τη γλώσσα ερωτημάτων XML (XQuery).
- 2008 – Η SQL:2008 εισήγαγε την πρόταση TRUNCATE και τους ενεργοποιητές INSTEAD OF.
- 2011 – Η SQL:2011 βελτίωσε την υποστήριξη για χρονικές βάσεις δεδομένων.
- 2016 – SQL:2016 πρόσθεσε υποστήριξη JSON και αντιστοίχιση μοτίβων γραμμών (MATCH_RECOGNIZE).
- 2019 – Το SQL/MDA (Μέρος 15) πρόσθεσε υποστήριξη πολυδιάστατων πινάκων στο πρότυπο.
- 2023 – Το SQL:2023 πρόσθεσε έναν εγγενή τύπο δεδομένων JSON και ερωτήματα γραφήματος ιδιοτήτων (SQL/PGQ).
- 2024 – Η GQL, η πρώτη νέα γλώσσα βάσης δεδομένων ISO από την SQL, δημοσιεύτηκε ως συνοδευτικό πρότυπο ερωτημάτων γραφημάτων.
- 2026 – Το SQL:2023 παραμένει το τρέχον πρότυπο, με την επόμενη αναθεώρηση να βρίσκεται υπό ανάπτυξη στο ISO/IEC.
Τύποι εντολών SQL
Ακολουθούν πέντε τύποι ευρέως χρησιμοποιούμενων εντολών SQL:
- Γλώσσα ορισμού δεδομένων (DDL)
- Γλώσσα χειρισμού δεδομένων (DML)
- Γλώσσα ελέγχου δεδομένων (DCL)
- Γλώσσα ελέγχου συναλλαγών (TCL)
- Γλώσσα ερωτήματος δεδομένων (DQL)

Ο παρακάτω πίνακας συνοψίζει τις πέντε κατηγορίες προτού καλυφθεί λεπτομερώς η καθεμία.
| Κατηγορία | Σκοπός | Κύριες εντολές |
|---|---|---|
| DDL | Ορισμός δομής | ΔΗΜΙΟΥΡΓΙΑ, ΑΠΟΡΡΙΨΗ, ΤΡΟΠΟΠΟΙΗΣΗ, ΠΕΡΙΚΟΠΗ |
| DML | Τροποποίηση δεδομένων | ΕΙΣΑΓΩΓΗ, ΕΝΗΜΕΡΩΣΗ, ΔΙΑΓΡΑΦΗ |
| MDL | Έλεγχος πρόσβασης | ΧΟΡΗΓΗΣΗ, ΑΝΑΚΛΗΣΗ |
| TCL | Διαχείριση συναλλαγών | ΔΕΣΜΕΥΣΗ, ΑΝΑΚΥΡΩΣΗ, ΣΗΜΕΙΟ ΑΠΟΘΗΚΕΥΣΗΣ |
| DQL | Ανάκτηση δεδομένων | SELECT |
Τι είναι το DDL;
Η Γλώσσα Ορισμού Δεδομένων σάς βοηθά να ορίσετε τη δομή ή το σχήμα της βάσης δεδομένων. Ας μάθουμε για τις εντολές DDL με σύνταξη. Οι κύριες εντολές DDL στην SQL είναι οι CREATE, DROP, ALTER και TRUNCATE.
ΔΗΜΙΟΥΡΓΩ
Η εντολή CREATE χρησιμοποιείται για τον ορισμό της δομής ή του σχήματος της βάσης δεδομένων:
Σύνταξη:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
Για παράδειγμα:
Create database university; Create table students; Create view for_students;
DROP
Η εντολή DROP αφαιρεί πίνακες και βάσεις δεδομένων από το RDBMS.
Σύνταξη:
DROP TABLE ;
Για παράδειγμα:
Drop object_type object_name; Drop database university; Drop table student;
ALTER
Η εντολή ALTER σάς επιτρέπει να τροποποιήσετε τη δομή της βάσης δεδομένων.
Σύνταξη: για να προσθέσετε μια νέα στήλη στον πίνακα:
ALTER TABLE table_name ADD column_name COLUMN-definition;
Για να τροποποιήσετε μια υπάρχουσα στήλη στον πίνακα:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
Για παράδειγμα:
Alter table guru99 add subject varchar;
ΚΟΥΤΣΟΥΡΕΥΩ
Αυτή η εντολή χρησιμοποιείται για τη διαγραφή όλων των σειρών από τον πίνακα και την απελευθέρωση του χώρου που περιέχει τον πίνακα.
Σύνταξη:
TRUNCATE TABLE table_name;
Παράδειγμα:
TRUNCATE table students;
Τι είναι η γλώσσα χειρισμού δεδομένων;
Η Γλώσσα Χειρισμού Δεδομένων (DML) σάς επιτρέπει να τροποποιήσετε την παρουσία της βάσης δεδομένων εισάγοντας, τροποποιώντας και διαγράφοντας τα δεδομένα της. Είναι υπεύθυνη για την εκτέλεση όλων των τύπων τροποποίησης δεδομένων σε μια βάση δεδομένων. Οι σημαντικές εντολές DML στην SQL είναι:
- ΕΝΘΕΤΟ
- ΕΚΣΥΓΧΡΟΝΊΖΩ
- ΔΙΑΓΡΑΦΗ
ΕΝΘΕΤΟ
Αυτή η εντολή χρησιμοποιείται για την εισαγωγή δεδομένων στις γραμμές ενός πίνακα.
Σύνταξη:
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN); Or INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
Για παράδειγμα:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');
ΕΚΣΥΓΧΡΟΝΊΖΩ
Αυτή η εντολή χρησιμοποιείται για την ενημέρωση ή την τροποποίηση της τιμής μιας στήλης στον πίνακα.
Σύνταξη:
UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]
Για παράδειγμα:
UPDATE students SET FirstName = 'Jhon', LastName= 'Wick' WHERE StudID = 3;
ΔΙΑΓΡΑΦΗ
Αυτή η εντολή χρησιμοποιείται για την αφαίρεση μιας ή περισσότερων σειρών από έναν πίνακα.
Σύνταξη:
DELETE FROM table_name [WHERE condition];
Για παράδειγμα:
DELETE FROM students WHERE FirstName = 'Jhon';
Τι είναι το DCL;
Η DCL (Data Control Language) περιλαμβάνει εντολές όπως GRANT και REVOKE, οι οποίες είναι χρήσιμες για την εκχώρηση δικαιωμάτων και αδειών. Άλλες εντολές ελέγχουν παραμέτρους του συστήματος βάσης δεδομένων.
Επιχορήγηση
Αυτή η εντολή χρησιμοποιείται για να δώσει σε έναν χρήστη δικαιώματα πρόσβασης σε μια βάση δεδομένων.
Σύνταξη:
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
Για παράδειγμα:
GRANT SELECT ON Users TO'Tom'@'localhost;
Revκαλά
Αυτή η εντολή είναι χρήσιμη για την ανάκτηση δικαιωμάτων από τον χρήστη.
Σύνταξη:
REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}
Για παράδειγμα:
REVOKE SELECT, UPDATE ON student FROM BCA, MCA;
Τι είναι το TCL;
Η Γλώσσα Ελέγχου Συναλλαγών ή εντολές TCL, ασχολείται με τη συναλλαγή εντός της βάσης δεδομένων. Λειτουργούν απευθείας με τις καταστάσεις που περιγράφονται στην ενότητα διαχείριση συναλλαγών.
Διαπράττω
Αυτή η εντολή χρησιμοποιείται για την αποθήκευση όλων των συναλλαγών στη βάση δεδομένων.
Σύνταξη:
Commit;
Για παράδειγμα:
DELETE FROM Students WHERE RollNo =25; COMMIT;
Επαναφορά
Η εντολή Rollback σάς επιτρέπει να αναιρέσετε συναλλαγές που δεν έχουν ήδη αποθηκευτεί στη βάση δεδομένων.
Σύνταξη:
ROLLBACK;
Παράδειγμα:
DELETE FROM Students WHERE RollNo =25;
ΑΠΟΘΗΚΕΥΣΗ
Αυτή η εντολή σάς βοηθά να ορίσετε ένα σημείο αποθήκευσης μέσα σε μια συναλλαγή.
Σύνταξη:
SAVEPOINT SAVEPOINT_NAME;
Παράδειγμα:
SAVEPOINT RollNo;
Τι είναι η DQL;
Η Γλώσσα Ερωτημάτων Δεδομένων (DQL) χρησιμοποιείται για την ανάκτηση δεδομένων από τη βάση δεδομένων. Χρησιμοποιεί μόνο μία εντολή, την SELECT.
SELECT
Αυτή η εντολή σάς βοηθά να επιλέξετε τα χαρακτηριστικά με βάση την συνθήκη που περιγράφεται από την πρόταση WHERE.
Σύνταξη:
SELECT expressions FROM TABLES WHERE conditions;
Για παράδειγμα:
SELECT FirstName FROM Student WHERE RollNo > 15;
ΔΙΑΓΡΑΦΗ έναντι ΠΕΡΙΚΟΨΗΣ έναντι ΑΠΟΘΕΣΗΣ
Αυτές οι τρεις εντολές αφαιρούν δεδομένα, αλλά διαφέρουν ως προς το τι αφαιρούν και ως προς το αν η ενέργεια μπορεί να αναιρεθεί. Η σύγχυσή τους είναι ένα συνηθισμένο λάθος για αρχάριους.
| Άποψη | ΔΙΑΓΡΑΦΗ | ΚΟΥΤΣΟΥΡΕΥΩ | DROP |
|---|---|---|---|
| Κατηγορία | DML | DDL | DDL |
| Αφαιρεί | Επιλεγμένες σειρές | Όλες οι σειρές | Όλο το τραπέζι |
| ΟΤΙ ρήτρα | Επιτρέπονται τα κατοικίδια | Δεν επιτρέπεται | δεν ισχύει |
| Επαναφορά | Πιθανές | Συνήθως όχι | Αδύνατον |
| Η δομή διατηρείται | Ναι | Ναι | Οχι |
Με λίγα λόγια, χρησιμοποιήστε τη συνάρτηση DELETE για να καταργήσετε συγκεκριμένες γραμμές, τη συνάρτηση TRUNCATE για να αδειάσετε γρήγορα έναν πίνακα και τη συνάρτηση DROP για να απορρίψετε εντελώς τον πίνακα.
