SQL कमांड: DQL, DDL, DML, DCL और TCL उदाहरणों सहित

⚡ स्मार्ट सारांश

SQL कमांड को पाँच उपभाषाओं में बांटा गया है जो रिलेशनल डेटाबेस को प्रबंधित करती हैं। DDL संरचना को परिभाषित करता है, DML डेटा को बदलता है, DCL एक्सेस को नियंत्रित करता है, TCL लेनदेन को प्रबंधित करता है, और DQL डेटा को पुनर्प्राप्त करता है, प्रत्येक के अपने-अपने कथन और सिंटैक्स होते हैं।

  • 🏗️ डीडीएल: CREATE, DROP, ALTER और TRUNCATE कमांड टेबल और डेटाबेस के स्कीमा को परिभाषित और परिवर्तित करते हैं।
  • डीएमएल: INSERT, UPDATE और DELETE किसी टेबल में मौजूद पंक्तियों को संशोधित करते हैं।
  • 🔑 डीसीएल: GRANT और REVOKE डेटाबेस ऑब्जेक्ट पर पहुंच विशेषाधिकार प्रदान करते हैं और हटाते हैं।
  • 🔄 TCL: COMMIT, ROLLBACK और SAVEPOINT यह नियंत्रित करते हैं कि लेनदेन को कैसे सहेजा या रद्द किया जाता है।
  • 🔍 डीक्यूएल: SELECT फ़ंक्शन WHERE क्लॉज़ द्वारा फ़िल्टर की गई पंक्तियों को पुनर्प्राप्त करता है।
  • मानक भाषा: प्रत्येक प्रमुख आरडीबीएमएस, MySQL सेवा मेरे Oracle और SQL सर्वर, SQL का उपयोग करता है।
  • ⚠️ मुख्य अंतर: TRUNCATE और DELETE दोनों ही पंक्तियों को साफ़ करते हैं, लेकिन TRUNCATE एक DDL (डबल-डिलीट) प्रक्रिया है और यह पंक्ति-दर-पंक्ति नहीं होती है।

SQL कमांड DQL DDL DML DCL TCL

एसक्यूएल क्या है?

एसक्यूएल एक डेटाबेस भाषा है जिसे रिलेशनल डेटाबेस में डेटा की पुनर्प्राप्ति और प्रबंधन के लिए डिज़ाइन किया गया है।

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)
SQL कमांड के प्रकार
SQL के प्रकार

नीचे दी गई तालिका में पांच श्रेणियों का संक्षिप्त विवरण दिया गया है, जिसके बाद प्रत्येक श्रेणी को विस्तार से समझाया गया है।

वर्ग उद्देश्य मुख्य आदेश
डीडीएल संरचना को परिभाषित करें बनाएं, हटाएं, बदलें, छोटा करें
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 का उपयोग करें।

अक्सर पूछे जाने वाले प्रश्न

DELETE एक DML कमांड है जो चयनित पंक्तियों को हटाता है और इसे वापस पहले जैसा किया जा सकता है। TRUNCATE एक DDL कमांड है जो सभी पंक्तियों को एक साथ हटाता है, तेज़ होता है और आमतौर पर इसे वापस पहले जैसा नहीं किया जा सकता है।

ये डेटा कंट्रोल लैंग्वेज (DCL) से संबंधित हैं। GRANT कमांड किसी उपयोगकर्ता को डेटाबेस ऑब्जेक्ट पर विशेषाधिकार प्रदान करता है, और REVOKE कमांड उन विशेषाधिकारों को वापस ले लेता है, जो मिलकर एक्सेस और सुरक्षा को नियंत्रित करते हैं।

जी हां। टेक्स्ट-टू-एसक्यूएल मॉडल प्राकृतिक भाषा के अनुरोध को किसी ज्ञात स्कीमा के विरुद्ध SELECT या अन्य कथन में परिवर्तित करते हैं। उत्पादन डेटा पर चलाने से पहले हमेशा उत्पन्न क्वेरी की समीक्षा करें।

जी हां। निष्पादन योजना को पढ़कर, एआई एक इंडेक्स, पुनर्लिखित जॉइन या वेयर स्टेटमेंट में बदलाव का सुझाव दे सकता है जिससे लागत कम हो जाती है। सुझाव का परीक्षण किया जाना चाहिए, क्योंकि सबसे तेज़ योजना डेटा पर निर्भर करती है।

डीडीएल डेटाबेस की संरचना को परिभाषित या परिवर्तित करता है, जैसे कि टेबल और कॉलम। डीएमएल उस संरचना में मौजूद डेटा को INSERT, UPDATE और DELETE के माध्यम से परिवर्तित करता है। संरचना और सामग्री में मुख्य अंतर है।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: