SQL कमांड: DQL, DDL, DML, DCL और TCL उदाहरणों सहित
⚡ स्मार्ट सारांश
SQL कमांड को पाँच उपभाषाओं में बांटा गया है जो रिलेशनल डेटाबेस को प्रबंधित करती हैं। DDL संरचना को परिभाषित करता है, DML डेटा को बदलता है, DCL एक्सेस को नियंत्रित करता है, TCL लेनदेन को प्रबंधित करता है, और DQL डेटा को पुनर्प्राप्त करता है, प्रत्येक के अपने-अपने कथन और सिंटैक्स होते हैं।
एसक्यूएल क्या है?
एसक्यूएल एक डेटाबेस भाषा है जिसे रिलेशनल डेटाबेस में डेटा की पुनर्प्राप्ति और प्रबंधन के लिए डिज़ाइन किया गया है।
SQL डेटाबेस प्रबंधन के लिए मानक भाषा है। सभी RDBMS सिस्टम जैसे MySQL, एमएस एक्सेस, OracleSybase, Postgres और SQL Server जैसे डेटाबेस प्रोग्रामिंग प्लेटफॉर्म SQL को अपनी मानक डेटाबेस भाषा के रूप में उपयोग करते हैं। SQL प्रोग्रामिंग भाषा विभिन्न कार्यों के लिए कई कमांड का उपयोग करती है। हम उदाहरणों सहित SQL में DCL, TCL, DQL, DDL और DML कमांड के बारे में जानेंगे।
SQL का उपयोग क्यों करें?
SQL का उपयोग करने के कुछ महत्वपूर्ण कारण यहाँ दिए गए हैं:
- यह उपयोगकर्ताओं को डेटा तक पहुँचने में मदद करता है आरडीबीएमएस प्रणाली.
- यह आपको डेटा का वर्णन करने में मदद करता है।
- यह आपको डेटाबेस में डेटा को परिभाषित करने और उस विशिष्ट डेटा में हेरफेर करने की अनुमति देता है।
- SQL कमांड की मदद से आप डेटाबेस और टेबल बना और हटा सकते हैं।
- SQL आपको डेटाबेस में फ़ंक्शन का उपयोग करने और व्यू और स्टोर्ड प्रोसीजर बनाने की सुविधा देता है।
- आप तालिकाओं, प्रक्रियाओं और दृश्यों पर अनुमतियाँ सेट कर सकते हैं।
SQL का संक्षिप्त इतिहास
यहां कुछ महत्वपूर्ण स्थलचिह्न दिए गए हैं। एसक्यूएल का इतिहास:
- 1970 - डॉ. एडगर एफ. "टेड" कॉड ने डेटाबेस के लिए एक संबंधपरक मॉडल का वर्णन किया।
- 1974 में स्ट्रक्चर्ड क्वेरी लैंग्वेज (स्ट्रक्चर्ड क्वेरी लैंग्वेज) अस्तित्व में आई, जिसका मूल नाम सीक्वल था। IBM.
- 1979 - Oracle पहला व्यावसायिक रूप से उपलब्ध SQL-आधारित डेटाबेस जारी किया, जो इस पर आधारित है IBM'सिस्टम आर' अनुसंधान प्रोटोटाइप।
- 1986 – एएनएसआई ने पहला एसक्यूएल मानक, एसक्यूएल-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 – SQL के बाद पहली नई ISO डेटाबेस भाषा, GQL को ग्राफ क्वेरी सहयोगी मानक के रूप में प्रकाशित किया गया था।
- 2026 – SQL:2023 वर्तमान मानक बना हुआ है, और ISO/IEC में अगले संशोधन पर काम चल रहा है।
SQL कमांड के प्रकार
यहां व्यापक रूप से उपयोग किए जाने वाले पांच प्रकार के SQL कमांड दिए गए हैं:
- डेटा परिभाषा भाषा (डीडीएल)
- डेटा हेरफेर भाषा (डीएमएल)
- डेटा नियंत्रण भाषा (डीसीएल)
- लेनदेन नियंत्रण भाषा (टीसीएल)
- डेटा क्वेरी भाषा (DQL)

नीचे दी गई तालिका में पांच श्रेणियों का संक्षिप्त विवरण दिया गया है, जिसके बाद प्रत्येक श्रेणी को विस्तार से समझाया गया है।
| वर्ग | उद्देश्य | मुख्य आदेश |
|---|---|---|
| डीडीएल | संरचना को परिभाषित करें | बनाएं, हटाएं, बदलें, छोटा करें |
| DML | डेटा में संशोधन करें | सम्मिलित करें, अद्यतन करें, हटाएं |
| डीसीएल | नियंत्रण का उपयोग | अनुदान देना, निरस्त करना |
| टीसीएल | लेनदेन प्रबंधित करें | कमिट, रोलबैक, सेवपॉइंट |
| डीक्यूएल | डेटा पुनः प्राप्त करो | चुनते हैं |
डीडीएल क्या है?
डेटा परिभाषा भाषा (डीडीएल) डेटाबेस संरचना या स्कीमा को परिभाषित करने में आपकी मदद करती है। आइए डीडीएल कमांड और उनके सिंटैक्स के बारे में जानें। SQL में मुख्य डीडीएल कमांड CREATE, DROP, ALTER और TRUNCATE हैं।
बनाएँ
CREATE स्टेटमेंट का उपयोग डेटाबेस संरचना या स्कीमा को परिभाषित करने के लिए किया जाता है:
सिंटेक्स:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
उदाहरण के लिए:
Create database university; Create table students; Create view for_students;
ड्रॉप
DROP कमांड RDBMS से टेबल और डेटाबेस को हटा देता है।
सिंटेक्स:
DROP TABLE ;
उदाहरण के लिए:
Drop object_type object_name; Drop database university; Drop table student;
बदलने
ALTER कमांड आपको डेटाबेस की संरचना को बदलने की अनुमति देता है।
सिंटेक्स: तालिका में एक नया कॉलम जोड़ने के लिए:
ALTER TABLE table_name ADD column_name COLUMN-definition;
तालिका में किसी मौजूदा कॉलम को संशोधित करने के लिए:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
उदाहरण के लिए:
Alter table guru99 add subject varchar;
TRUNCATE
इस कमांड का उपयोग तालिका से सभी पंक्तियों को हटाने और तालिका वाले स्थान को खाली करने के लिए किया जाता है।
सिंटेक्स:
TRUNCATE TABLE table_name;
उदाहरण:
TRUNCATE table students;
डेटा मैनीपुलेशन लैंग्वेज क्या है?
डेटा मैनिपुलेशन लैंग्वेज (डीएमएल) आपको डेटाबेस इंस्टेंस में डेटा डालने, संशोधित करने और हटाने की अनुमति देती है। यह डेटाबेस में सभी प्रकार के डेटा संशोधन करने के लिए जिम्मेदार है। 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) में 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;
टीसीएल क्या है?
ट्रांजैक्शन कंट्रोल लैंग्वेज, या टीसीएल कमांड, डेटाबेस के भीतर लेनदेन को संभालती हैं। वे सीधे वर्णित स्थितियों के साथ काम करती हैं। लेन - देन प्रबंधन.
करना
इस कमांड का उपयोग सभी लेनदेन को डेटाबेस में सहेजने के लिए किया जाता है।
सिंटेक्स:
Commit;
उदाहरण के लिए:
DELETE FROM Students WHERE RollNo =25; COMMIT;
रोलबैक
रोलबैक कमांड आपको उन लेन-देन को पूर्ववत करने की अनुमति देता है जो पहले से डेटाबेस में सहेजे नहीं गए हैं।
सिंटेक्स:
ROLLBACK;
उदाहरण:
DELETE FROM Students WHERE RollNo =25;
पॉइंट सहेजें
यह कमांड आपको किसी लेनदेन के भीतर सेवपॉइंट सेट करने में मदद करता है।
सिंटेक्स:
SAVEPOINT SAVEPOINT_NAME;
उदाहरण:
SAVEPOINT RollNo;
डीक्यूएल क्या है?
डेटा क्वेरी लैंग्वेज (DQL) का उपयोग डेटाबेस से डेटा प्राप्त करने के लिए किया जाता है। इसमें केवल एक ही कमांड, SELECT का उपयोग होता है।
चुनते हैं
यह कमांड आपको WHERE क्लॉज़ द्वारा वर्णित शर्त के आधार पर एट्रिब्यूट्स का चयन करने में मदद करता है।
सिंटेक्स:
SELECT expressions FROM TABLES WHERE conditions;
उदाहरण के लिए:
SELECT FirstName FROM Student WHERE RollNo > 15;
DELETE बनाम TRUNCATE बनाम DROP
ये तीनों कमांड डेटा हटाते हैं, लेकिन इनमें अंतर यह है कि वे क्या हटाते हैं और क्या इस प्रक्रिया को वापस लिया जा सकता है। शुरुआती लोगों में इन्हें लेकर भ्रम होना एक आम गलती है।
| पहलू | हटाएँ | TRUNCATE | ड्रॉप |
|---|---|---|---|
| वर्ग | DML | डीडीएल | डीडीएल |
| निकालता है | चयनित पंक्तियाँ | सभी पंक्तियाँ | पूरी मेज |
| कहां कारण | रख सकते है | अनुमति नहीं | लागू नहीं होता |
| रोलबैक | संभव | आमतौर पर नहीं | संभव नहीं |
| संरचना बनी रही | हाँ | हाँ | नहीं |
संक्षेप में, विशिष्ट पंक्तियों को हटाने के लिए DELETE का उपयोग करें, किसी तालिका को शीघ्रता से खाली करने के लिए TRUNCATE का उपयोग करें, और पूरी तालिका को हटाने के लिए DROP का उपयोग करें।

