Εντολές SQL: DQL, DDL, DML, DCL & TCL με παραδείγματα

⚡ Έξυπνη Σύνοψη

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

  • DOF: Οι επιλογές CREATE, DROP, ALTER και TRUNCATE ορίζουν και αλλάζουν το σχήμα των πινάκων και των βάσεων δεδομένων.
  • DML: Οι εντολές INSERT, UPDATE και DELETE τροποποιούν τις γραμμές που διατηρούνται μέσα σε έναν πίνακα.
  • 🔑 DCL: Οι GRANT και REVOKE δίνουν και αφαιρούν δικαιώματα πρόσβασης σε αντικείμενα βάσης δεδομένων.
  • 🔄 TCL: Οι επιλογές COMMIT, ROLLBACK και SAVEPOINT ελέγχουν τον τρόπο αποθήκευσης ή αναίρεσης των συναλλαγών.
  • 🔍 Ποιότητας Ζωής: Η συνάρτηση SELECT ανακτά γραμμές, φιλτραρισμένες από την ρήτρα WHERE.
  • 🗄️ Τυπική Γλώσσα: Κάθε σημαντικό RDBMS, από MySQL προς την Oracle και SQL Server, χρησιμοποιεί SQL.
  • ⚠️ Βασική αντίθεση: Οι TRUNCATE και DELETE διαγράφουν και οι δύο γραμμές, αλλά η TRUNCATE είναι DDL και δεν είναι γραμμή προς γραμμή.

Εντολές SQL DQL DDL DML DCL TCL

Τι είναι η 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)
Τύποι εντολών SQL
Τύποι SQL

Ο παρακάτω πίνακας συνοψίζει τις πέντε κατηγορίες προτού καλυφθεί λεπτομερώς η καθεμία.

Κατηγορία Σκοπός Κύριες εντολές
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 για να απορρίψετε εντελώς τον πίνακα.

Συχνές Ερωτήσεις

Η εντολή DELETE είναι μια εντολή DML που καταργεί επιλεγμένες γραμμές και μπορεί να ακυρωθεί. Η εντολή TRUNCATE είναι μια εντολή DDL που καταργεί όλες τις γραμμές ταυτόχρονα, είναι ταχύτερη και συνήθως δεν μπορεί να ακυρωθεί.

Ανήκουν στη Γλώσσα Ελέγχου Δεδομένων ή DCL. Η GRANT δίνει σε έναν χρήστη δικαιώματα σε ένα αντικείμενο βάσης δεδομένων και η REVOKE αφαιρεί αυτά τα δικαιώματα, τα οποία από κοινού ελέγχουν την πρόσβαση και την ασφάλεια.

Ναι. Τα μοντέλα μετατροπής κειμένου σε SQL μετατρέπουν ένα αίτημα φυσικής γλώσσας σε μια πρόταση SELECT ή άλλη σε σχέση με ένα γνωστό σχήμα. Να ελέγχετε πάντα το δημιουργημένο ερώτημα πριν το εκτελέσετε σε δεδομένα παραγωγής.

Ναι. Διαβάζοντας το σχέδιο εκτέλεσης, η Τεχνητή Νοημοσύνη μπορεί να προτείνει έναν δείκτη, μια επανεγγραφή της σύνδεσης ή μια αλλαγή στο WHERE που μειώνει το κόστος. Η πρόταση θα πρέπει να δοκιμαστεί, καθώς το ταχύτερο σχέδιο εξαρτάται από τα δεδομένα.

Η DDL ορίζει ή αλλάζει τη δομή της βάσης δεδομένων, όπως πίνακες και στήλες. Η DML αλλάζει τα δεδομένα που διατηρούνται μέσα σε αυτήν τη δομή, μέσω των INSERT, UPDATE και DELETE. Η βασική διαφορά είναι η δομή έναντι του περιεχομένου.

Συνοψίστε αυτήν την ανάρτηση με: