संरचित क्वेरी भाषा का उपयोग संरचित डेटा से निपटने के लिए किया जाता है। डेटा जो तालिकाओं के रूप में संग्रहीत किया जाता है, संरचित डेटा होता है। ये SQL कमांड टेबल में रिकॉर्ड्स या डेटा को स्टोर करते हैं और स्टोर किए गए टेबल से रिकॉर्ड लाने के लिए भी उपयोग किए जाते हैं। संरचित क्वेरी भाषा कमांड चार प्रकार के होते हैं:
- डेटा परिभाषा भाषा कमांड।
- डेटा हेरफेर भाषा आदेश।
- डेटा नियंत्रण भाषा आदेश।
- लेन-देन नियंत्रण भाषा कमांड।
डेटा परिभाषा भाषा कमांड
DDL डेटा डेफिनिशन लैंग्वेज का संक्षिप्त नाम है। डेटा डेफिनिशन लैंग्वेज कमांड का इस्तेमाल स्ट्रक्चर से निपटने के लिए किया जाता है, यानी टेबल या रिलेशन जिसमें हमारा रिकॉर्ड या डेटा स्टोर होता है। डेटा परिभाषा भाषा कमांड का उपयोग तालिका बनाने, हटाने और बदलने के लिए किया जाता है। डेटा परिभाषा भाषा आदेश हैं:
- कमांड बनाएं।
- कमांड बदलें।
- ड्रॉप कमांड।
- TRUNCATE कमांड।
कमांड बनाएं: स्ट्रक्चर्ड क्वेरी लैंग्वेज में, हम टेबल में डेटा स्टोर करते हैं, और एक नई टेबल या डेटाबेस बनाने के लिए, हम डेटा डेफिनिशन लैंग्वेज कमांड के क्रिएट कमांड का उपयोग करते हैं। डेटाबेस बनाने का सिंटैक्स नीचे दिया गया है:
CREATE DATABASE DATABASE_NAME;
उदाहरण के लिए,
- नया डेटाबेस बनाने के लिए क्वेरी लिखें और उसके बाद डेटाबेस नाम कंपनी लिखें।
CREATE DATABASE COMPANY;
यह जांचने के लिए कि क्या डेटाबेस कंपनी बनाई गई है, हम निम्नलिखित क्वेरी का उपयोग करेंगे:
SHOW DATABASES;
डेटाबेस |
कंपनी |
कर्मचारी |
सूचना_स्कीमा |
mysql |
performance_schema |
phpmyadmin |
उपरोक्त परिणाम कहता है कि हमने सफलतापूर्वक कंपनी . बनाया है डेटाबेस।
- नई तालिका बनाने के लिए एक प्रश्न लिखें:
हम कंपनी . के अंदर कर्मचारियों की एक नई तालिका तैयार करेंगे डेटाबेस। हमें कंपनी डेटाबेस का चयन करना होगा।
CREATE TABLE TABLE_NAME(COLUMN_NAME1 DATATYPE(COLUMN SIZE), COLUMN_NAME2 DATATYPE (COLUMN SIZE),COLUMN_NAME3 DATATYPE (COLUMN SIZE));
कंपनी डेटाबेस का चयन करने के लिए, हम निम्नलिखित क्वेरी का उपयोग करेंगे:
USE COMPANY;
अब, हम कंपनी को डेटाबेस के रूप में चुनते हैं; हम तालिका बनाने के लिए CREATE TABLE क्वेरी निष्पादित करेंगे:
CREATE TABLE EMPLOYEES (EMPLOYEE INT PRIMARY KEY, FIRST_NAME VARCHAR (20), LAST_NAME VARCHAR (20), SALARY INT, CITY VARCHAR (20) );
हमने तालिका नाम कर्मचारी . बनाया है CREATE TABLE क्वेरी का उपयोग करना।
यह जांचने के लिए कि क्या तालिका कर्मचारी बनाई गई है, हम निम्नलिखित क्वेरी का उपयोग करेंगे:
SHOW TABLES;
Tables_in_company |
कर्मचारी |
उपरोक्त परिणाम कहता है कि हमने सफलतापूर्वक 'कर्मचारी' तालिका बना ली है।
हम CREATE TABLE का उपयोग करके एक और टेबल बनाएंगे।
CREATE TABLE DEPARTMENT (DEPARTMENT INT PRIMARY KEY, DEPARTMENT_NAME VARCHAR (20));
हमने CREATE TABLE क्वेरी का उपयोग करके तालिका नाम 'विभाग' बनाया है।
यह जांचने के लिए कि क्या टेबल डिपार्टमेंट बनाया गया है, हम निम्नलिखित क्वेरी का उपयोग करेंगे:
SHOW TABLES;
Tables_in_company |
विभाग के कर्मचारी |
उपरोक्त परिणाम कहता है कि हमने सफलतापूर्वक 'कर्मचारी' तालिका बना ली है।
कमांड बदलें: स्ट्रक्चर्ड क्वेरी लैंग्वेज में, जब भी हम टेबल स्कीमा या स्ट्रक्चर को संशोधित करना चाहते हैं, तो हम डेटा डेफिनिशन लैंग्वेज कमांड के ALTER कमांड का उपयोग करेंगे। ALTER कमांड का उपयोग एक नया कॉलम जोड़कर, टेबल से मौजूदा कॉलम को हटाकर टेबल स्कीमा को संशोधित करने के लिए किया जाता है। नीचे एक नया कॉलम जोड़ने के लिए ALTER कमांड का सिंटैक्स है:
ALTER TABLE TABLE_NAME ADD COLUMN_NAME DATATYPE (COLUMN SIZE);
मौजूदा कॉलम को हटाने के लिए ALTER कमांड का सिंटैक्स:
ALTER TABLE TABLE-NAME DROP COLUMN COLUMN_NAME;
मौजूदा तालिका के कॉलम का नाम बदलने के लिए ALTER कमांड का सिंटैक्स:
ALTER TABLE TABLE_NAME RENAME COLUMN OLD_COLUMN-NAME TO NEW_COLUMN_NAME;
उदाहरण के लिए,
- कर्मचारी तालिका में एक नया कॉलम जोड़ने के लिए एक प्रश्न लिखें:
ALTER TABLE EMPLOYEES ADD DEPARTMENT VARCHAR (20);
यहां, हमने टेबल पर ALTER TABLE कमांड निष्पादित किया है कर्मचारी उसके बाद ADD कीवर्ड, जिसका अर्थ है कॉलम नाम विभाग, डेटा प्रकार VARCHAR और कॉलम आकार 20 के साथ एक कॉलम जोड़ना। उपरोक्त क्वेरी कहती है कि हमने एक नया कॉलम जोड़ा है ' विभाग' डेटा प्रकार के साथ VARCHAR और कॉलम का आकार 20 है।
यह जांचने के लिए कि क्या कर्मचारी तालिका में एक नया कॉलम जोड़ा गया है, हम कर्मचारी की मेज पर DESC कमांड का उपयोग करेंगे।
DESC EMPLOYEES;
फ़ील्ड | प्रकार | शून्य | कुंजी | डिफ़ॉल्ट | अतिरिक्त |
कर्मचारी | इंट(11) | नहीं | पीआरआई | शून्य | |
FIRST_NAME | वर्कर(20) | हां | शून्य | ||
LAST_NAME | वर्कर(20) | हां | शून्य | ||
वेतन | इंट(11) | हां | शून्य | ||
शहर | वर्कर(20) | हां | शून्य | ||
विभाग | वर्कर(20) | हां | शून्य |
उपरोक्त परिणाम सत्यापित करता है कि कर्मचारी की तालिका में एक नया कॉलम सफलतापूर्वक जोड़ा गया है।
ड्रॉप कमांड: संरचित क्वेरी भाषा में DROP कमांड का उपयोग डेटाबेस से टेबल और टेबल स्कीमा को हटाने के लिए किया जाता है। यहाँ DROP कमांड का सिंटैक्स है;
DROP TABLE TABLE_NAME;
कर्मचारी डेटाबेस से विभाग तालिका छोड़ने के लिए एक प्रश्न लिखें।
DROP TABLE DEPARTMENT;
यहाँ, हमने DROP TABLE क्वेरी को टेबल डिपार्टमेंट पर निष्पादित किया है।
यह जांचने के लिए कि क्या तालिका विभाग हटा दिया गया है, हम निम्नलिखित क्वेरी का उपयोग करेंगे:
SHOW TABLES;
Tables_in_company |
कर्मचारी |
उपरोक्त परिणाम कहता है कि हमने कंपनी डेटाबेस से विभाग तालिका को सफलतापूर्वक हटा दिया है।
TRUNCATE कमांड: संरचित क्वेरी भाषा में TRUNCATE कमांड डेटाबेस में तालिका स्कीमा को परेशान किए बिना तालिका से सभी डेटा को हटा देता है। TRUNCATE कमांड का सिंटैक्स नीचे दिया गया है:
TRUNCATE TABLE TABLE_NAME
कर्मचारियों की तालिका से सभी रिकॉर्ड हटाने के लिए एक प्रश्न लिखें।
हम पहले कर्मचारी तालिका में डेटा लाने के लिए SELECT क्वेरी का उपयोग करेंगे और फिर TRUNCATE क्वेरी को निष्पादित करेंगे।
SELECT * FROM EMPLOYEES;
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | शहर | विभाग |
1 | वैभव | शर्मा | 65000 | नोएडा | ओरेकल |
2 | श्वेता | शर्मा | 55000 | जयपुर | ओरेकल |
3 | सोनाली | माली | 60000 | नासिक | FMW |
TRUNCATE TABLE EMPLOYEES;
यहां, हमने कर्मचारी तालिका से सभी डेटा को सफलतापूर्वक हटा दिया है। अब, हम कर्मचारी टेबल पर सेलेक्ट क्वेरी का उपयोग करेंगे।
TRUNCATE TABLE EMPLOYEES;
कर्मचारी तालिका पर एक चयन क्वेरी निष्पादित करने के बाद, परिणाम एक खाली सेट प्रदर्शित करेगा। इसका मतलब है कि हमने पूरी तालिका को सफलतापूर्वक हटा दिया है।
डेटा मैनिपुलेशन लैंग्वेज कमांड
DML,डेटा हेरफेर भाषा के लिए खड़ा है। संरचित क्वेरी भाषा में डेटा हेरफेर भाषा कमांड डेटाबेस में डेटा में हेरफेर करती है। डेटा मैनिपुलेशन लैंग्वेज कमांड का उपयोग डेटा लाने, डेटा स्टोर करने, डेटा को संशोधित करने और मौजूदा टेबल से डेटा को हटाने के लिए किया जाता है।
संरचित क्वेरी भाषा में डेटा हेरफेर भाषा आदेश इस प्रकार हैं:
- कमांड चुनें.
- इन्सर्ट कमांड।
- कमांड अपडेट करें।
- कमांड हटाएं।
सबसे पहले, हम संरचित क्वेरी भाषा में डेटा हेरफेर भाषा के INSERT आदेशों को देखेंगे। INSERT के बाद, हम SELECT कमांड की ओर बढ़ेंगे।
इन्सर्ट कमांड: INSERT कमांड डेटाबेस टेबल में डेटा या रिकॉर्ड्स को स्टोर करता है। INSERT कमांड स्ट्रक्चर्ड क्वेरी लैंग्वेज में डेटा मैनिपुलेशन लैंग्वेज का महत्वपूर्ण कमांड है।
INSERT डेटा मैनिपुलेशन लैंग्वेज कमांड का सिंटैक्स:
INSERT INTO TABLE_NAME VALUES (VALUE1, VALUE2, VALUE3, VALUE);
यह सिंटैक्स तालिका के सभी क्षेत्रों की अनुमति देता है। यदि आप चयनित फ़ील्ड के लिए मान सम्मिलित करना चाहते हैं, तो नीचे दिए गए सिंटैक्स का उपयोग करें:
INSERT INTO TABLE_NAME (COLUMN_NAME1, COLUMN_NAME2) VALUES (VALUE1, VALUE2);
उपरोक्त सिंटैक्स का उपयोग तालिका के चयनित क्षेत्रों के लिए मूल्यों को संग्रहीत करने के लिए किया जाता है।
उदाहरण के लिए,
इस उदाहरण में, हम तालिका में सभी फ़ील्ड के लिए एक रिकॉर्ड डालेंगे।
आइए कर्मचारी तालिका लें, जो खाली है। हम स्टड टेबल में INSERT रिकॉर्ड करेंगे।
अब हम नए रिकॉर्ड को कर्मचारी तालिका में संग्रहीत करेंगे। तालिका में अभिलेखों को संग्रहीत करने के लिए, हम निम्नलिखित डेटा हेरफेर भाषा INSERT कमांड निष्पादित करेंगे:
INSERT INTO EMPLOYEES VALUES (1001, 'VAIBHAVI', 'MISHRA', 65000, 'PUNE', 'ORACLE');
INSERT INTO EMPLOYEES VALUES (1002, 'VAIBHAV', 'SHARMA', 60000, 'NOIDA', 'ORACLE');
INSERT INTO EMPLOYEES VALUES (1003, 'NIKHIL', 'VANI', 50000, 'JAIPUR', 'FMW');
INSERT INTO EMPLOYEES VALUES (1004, 'ANUJA', 'WANRE', 55000, 'DELHI', 'FMW');
INSERT INTO EMPLOYEES VALUES (2001, 'PRACHI', 'SHARMA', 55500, 'CHANDIGARH', 'ORACLE');
INSERT INTO EMPLOYEES VALUES (2002, 'BHAVESH', 'JAIN', 65500, 'PUNE', 'ORACLE');
हमने कर्मचारियों की तालिका में छह रिकॉर्ड डाले।
कमांड चुनें: SQL में सबसे महत्वपूर्ण डेटा मैनिपुलेशन लैंग्वेज कमांड सेलेक्ट कमांड है। SELECT कमांड का उपयोग निर्दिष्ट तालिका के डेटा को लाने के लिए किया जाता है, और SELECT कमांड का उपयोग क्वेरी में WHERE क्लॉज का उपयोग करके तालिका के चयनित क्षेत्रों को लाने के लिए भी किया जाता है।
सेलेक्ट डेटा मैनिपुलेशन लैंग्वेज कमांड का सिंटैक्स
SELECT * FROM TABLE_NAME;
उपरोक्त सिंटैक्स का उपयोग संपूर्ण तालिका लाने के लिए किया जाता है।
SELECT COLUMN_NAME1, COLUMN_NAME2, COLUMN_NAMEN FROM TABLE_NAME;
उपरोक्त सिंटैक्स चयनित कॉलम के सभी रिकॉर्ड लाने के लिए है।
SELECT * FROM TABLE_NAME WHERE COLUMN_NAME;
उपरोक्त सिंटैक्स का उपयोग कॉलम नाम द्वारा निर्दिष्ट WHERE क्लॉज का उपयोग करके एकल रिकॉर्ड लाने के लिए किया जाता है।
उदाहरण के लिए, मान लें कि आप तालिका से प्रत्येक कॉलम का सारा डेटा प्राप्त करना चाहते हैं:
SELECT * FROM EMPLOYEES;
यह संरचित क्वेरी भाषा कर्मचारी तालिका का निम्न डेटा दिखाती है:
- तालिका से कॉलम नाम द्वारा निर्दिष्ट WHERE क्लॉज का उपयोग करके एकल पंक्ति सभी डेटा प्राप्त करें:
SELECT * FROM EMPLOYEES WHERE SALARY > 55000;
उपरोक्त क्वेरी 55000 से अधिक वेतन वाले कर्मचारियों के सभी रिकॉर्ड प्राप्त करेगी।
यह संरचित क्वेरी भाषा कर्मचारी तालिका का निम्न डेटा दिखाती है:
अद्यतन आदेश: UPDATE कमांड SQL में एक और मूल्यवान डेटा मैनिपुलेशन लैंग्वेज कमांड है। अद्यतन कमांड का उपयोग डेटाबेस तालिका में रिकॉर्ड को संशोधित करने के लिए किया जाता है।
अद्यतन डेटा हेरफेर भाषा कमांड का सिंटेक्स
UPDATE TABLE_NAME SET COLUMN_NAME1 = VALUES, COLUMN_NAME2 = VALUES WHERE CONDITION;
अद्यतन, सेट, और संरचित क्वेरी भाषा कीवर्ड कहां हैं।
उदाहरण के लिए,
- यह उदाहरण बताता है कि मान को कैसे संशोधित किया जाए।
आइए कर्मचारी तालिका पर विचार करें:
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | शहर | विभाग |
1001 | वैभवी | मिश्रा | 65000 | पुणे | ओरेकल |
1002 | वैभव | शर्मा | 60000 | नोएडा | ओरेकल |
1003 | निखिल | वाणी | 50000 | जयपुर | FMW |
2001 | प्राची | शर्मा | 55500 | चंडीगढ़ | ओरेकल |
2002 | भावेश | जैन | 65500 | पुणे | FMW |
2003 | रुचिका | जैन | 50000 | मुंबई | परीक्षण |
3001 | प्रानोटी | शेंडे | 55500 | पुणे | जावा |
3002 | अनुजा | कहां | 50500 | जयपुर | FMW |
3003 | दीपम | जौहारी | 58500 | मुंबई | जावा |
4001 | राजेश | GOUD | 60500 | मुंबई | परीक्षण |
- जिस रिकॉर्ड का अंतिम नाम 'जैन' है उसे संशोधित करने के लिए एक क्वेरी लिखें और विभाग मान को 'FMW' के रूप में सेट करें।
UPDATE TABLE_NAME SET COLUMN_NAME1 = VALUES, COLUMN_NAME2 = VALUES WHERE CONDITION;
हम कर्मचारी तालिका पर SELECT क्वेरी का उपयोग करेंगे जहां अंतिम नाम जैन है यह सत्यापित करने के लिए कि मान संशोधित है या नहीं।
SELECT * FROM EMPLOYEES WHERE LAST_NAME = ‘JAIN’;
यह संरचित क्वेरी भाषा कर्मचारी तालिका का निम्न डेटा दिखाती है:
कमांड हटाएं: DELETE एक डेटा मैनिपुलेशन लैंग्वेज कमांड है जिसका इस्तेमाल टेबल से रिकॉर्ड्स को डिलीट करने के लिए किया जाता है। हम क्वेरी में WHERE क्लॉज का उपयोग करके तालिका से रिकॉर्ड हटाते हैं।
अद्यतन डेटा हेरफेर भाषा कमांड का सिंटेक्स
DELETE FROM TABLE_NAME WHERE CONDITION;
उदाहरण के लिए, आइए कर्मचारी तालिका पर विचार करें:
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | शहर | विभाग |
1001 | वैभवी | मिश्रा | 65000 | पुणे | ओरेकल |
1002 | वैभव | शर्मा | 60000 | नोएडा | ओरेकल |
1003 | निखिल | वाणी | 50000 | जयपुर | FMW |
2001 | प्राची | शर्मा | 55500 | चंडीगढ़ | ओरेकल |
2002 | भावेश | जैन | 65500 | पुणे | FMW |
2003 | रुचिका | जैन | 50000 | मुंबई | परीक्षण |
3001 | प्रानोटी | शेंडे | 55500 | पुणे | जावा |
3002 | अनुजा | कहां | 50500 | जयपुर | FMW |
3003 | दीपम | जौहारी | 58500 | मुंबई | जावा |
4001 | राजेश | GOUD | 60500 | मुंबई | परीक्षण |
- जिस डेटा के शहर का नाम 'मुंबई' है, उसे मिटाने के लिए एक क्वेरी लिखें;
DELETE FROM EMPLOYEES WHERE CITY = ‘MUMBAI’;
हम यह सत्यापित करने के लिए कर्मचारी तालिका पर SELECT क्वेरी का उपयोग करेंगे कि मान संशोधित है या नहीं।
SELECT * FROM EMPLOYEES;
यह संरचित क्वेरी भाषा कर्मचारी तालिका का निम्न डेटा दिखाती है:
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | शहर | विभाग |
1001 | वैभवी | मिश्रा | 65000 | पुणे | ओरेकल |
1002 | वैभव | शर्मा | 60000 | नोएडा | ओरेकल |
1003 | निखिल | वाणी | 50000 | जयपुर | FMW |
2001 | प्राची | शर्मा | 55500 | चंडीगढ़ | ओरेकल |
2002 | भावेश | जैन | 65500 | पुणे | FMW |
3001 | प्रानोटी | शेंडे | 55500 | पुणे | जावा |
3002 | अनुजा | कहां | 50500 | जयपुर | FMW |
उपरोक्त परिणाम से पता चलता है कि सिटी मुंबई के साथ रिकॉर्ड सफलतापूर्वक हटा दिया गया था।
डेटा नियंत्रण भाषा कमांड
DCL डेटा कंट्रोल लैंग्वेज का संक्षिप्त रूप है। हम संरचित क्वेरी भाषा तालिकाओं के अंदर अभिलेखों तक पहुंच विशेषाधिकारों को नियंत्रित करने के लिए डेटा नियंत्रण भाषा कमांड का उपयोग करते हैं। डेटा कंट्रोल लैंग्वेज कमांड का उपयोग करके, हम अधिकृत उपयोगकर्ताओं को केवल टेबल या डेटाबेस में रखे गए डेटा तक पहुँचने के लिए विशेषाधिकार दे सकते हैं।
उपयोगकर्ता के पास केवल एक विशेष उपयोगकर्ता के लिए तालिकाओं में रखे गए डेटा तक पहुँचने के लिए कुछ पूर्व-निर्मित पहुँच विशेषाधिकार होते हैं। डेटा नियंत्रण भाषा कमांड का उपयोग करके, हम संरचित क्वेरी भाषा या डेटाबेस पर उपयोगकर्ताओं को विशेषाधिकार प्रदान कर सकते हैं या उपयोगकर्ताओं से विशेषाधिकार वापस ले सकते हैं (निरस्त) कर सकते हैं। दो डेटा नियंत्रण भाषा कमांड हैं:
- अनुदान: ग्रांट कमांड का उपयोग डेटाबेस या टेबल के लिए उपयोगकर्ताओं को एक्सेस विशेषाधिकार प्रदान करने के लिए किया जाता है।
- निरस्त: यदि हम उपयोगकर्ताओं को एक्सेस विशेषाधिकार प्रदान कर सकते हैं। उस स्थिति में, हम डेटाबेस के लिए उपयोगकर्ता से असाइन किए गए विशेषाधिकार वापस लेना चाहते हैं। हम उपयोगकर्ता से सभी असाइन किए गए विशेषाधिकारों को रद्द करने के लिए REVOKE कमांड का उपयोग कर सकते हैं।
लेन-देन नियंत्रण भाषा
स्ट्रक्चर्ड क्वेरी लैंग्वेज में, हमारे पास डेटा डेफिनिशन लैंग्वेज (डीडीएल) और डेटा मैनिपुलेशन लैंग्वेज (डीएमएल) कमांड हैं, वैसे ही हमारे पास स्ट्रक्चर्ड क्वेरी लैंग्वेज में ट्रांजेक्शन कंट्रोल लैंग्वेज (टीसीएल) कमांड हैं। संरचित क्वेरी भाषा में लेनदेन नियंत्रण भाषा आदेश प्रतिबद्ध . हैं और रोलबैक ।
हम जो भी आदेश निष्पादित करते हैं वह कार्य की एक इकाई में लिपटा होता है जिसे लेन-देन के रूप में जाना जाता है। मान लीजिए कि हमने लेन-देन में निष्पादित तालिका पर एक अपडेट या डिलीट ऑपरेशन निष्पादित किया है। डीडीएल या डीएमएल के सभी संचालन या आदेश लेनदेन में संग्रहीत या निष्पादित किए जाते हैं। ऐसे निष्पादित डीडीएल या डीएमएल को बचाने के लिए, हमें लेनदेन नियंत्रण भाषा के प्रतिबद्ध कमांड को निष्पादित करना होगा। कमिट का उपयोग हमारे द्वारा टेबल पर किए गए सभी ऑपरेशन को सेव करने के लिए किया जाता है। सभी ऑपरेशन सहेजे गए हैं। यह सब कमिट के बारे में है।
अब, सोचें, क्या होगा यदि हम उन कार्यों को पूर्ववत करना चाहते हैं जिन्हें हमने कमिट कमांड का उपयोग करके सहेजा है? तो क्या हम स्ट्रक्चर्ड क्वेरी लैंग्वेज में ऑपरेशन को पूर्ववत कर सकते हैं? हां, हम प्रतिबद्ध कार्यों को पूर्ववत कर सकते हैं। हम संचालन को पूर्ववत करने के लिए लेनदेन नियंत्रण भाषा की एक और कमांड का उपयोग करेंगे, और वह कमांड रोलबैक है। हम संरचित क्वेरी भाषा में प्रतिबद्ध कार्रवाई को पूर्ववत करने के लिए रोलबैक कमांड का उपयोग करेंगे। लेनदेन नियंत्रण भाषा के अंतर्गत कमांड हैं:
- प्रतिबद्ध करें
- रोलबैक
मौजूदा कर्मचारी तालिका पर विचार करें जिसमें निम्नलिखित रिकॉर्ड हैं:
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | शहर | विभाग |
1001 | वैभवी | मिश्रा | 65000 | पुणे | ओरेकल |
1002 | वैभव | शर्मा | 60000 | नोएडा | ओरेकल |
1003 | निखिल | वाणी | 50000 | जयपुर | FMW |
2001 | प्राची | शर्मा | 55500 | चंडीगढ़ | ओरेकल |
2002 | भावेश | जैन | 65500 | पुणे | FMW |
2003 | रुचिका | जैन | 50000 | मुंबई | परीक्षण |
3001 | प्रानोटी | शेंडे | 55500 | पुणे | जावा |
3002 | अनुजा | कहां | 50500 | जयपुर | FMW |
3003 | दीपम | जौहारी | 58500 | मुंबई | जावा |
4001 | राजेश | GOUD | 60500 | मुंबई | परीक्षण |
हम लेन-देन शुरू किए बिना कमिट और रोलबैक कमांड का उपयोग कर सकते हैं, लेकिन हम लेनदेन शुरू करें का उपयोग करके अपना लेनदेन शुरू करेंगे। अच्छे अभ्यास के लिए आदेश।
आइए शुरू करते हैं और प्रत्येक ऑपरेशन का उदाहरण एक-एक करके देखते हैं।
सबसे पहले, हम ऑटो-प्रतिबद्धता का मान 0
. पर निर्दिष्ट करके स्वतः-प्रतिबद्धता को बंद कर देंगेSET AUTOCOMMIT = 0;
- मौजूदा तालिका के कर्मचारियों में नए मान डालें, और फिर हम कमिट कमांड का उपयोग करेंगे:
INSERT INTO EMPLOYEES VALUES (2003, ‘RUCHIKA’, ‘JAIN’, 50000, ‘MUMBAI’, ‘TESTING’);
तालिका में डेटा डाला गया है या नहीं, यह जांचने के लिए हम SELECT क्वेरी का उपयोग करेंगे:
SELECT * FROM EMPLOYEES WHERE EMPLOYEE = 2003;
अब, इस लेन-देन को बचाने के लिए, हम कमिट कमांड का उपयोग करेंगे।
COMMIT;
कर्मचारी आईडी 2001 विवरण अब सहेजे गए हैं। यह तब तक रोलबैक नहीं होगा जब तक हम इसे डिलीट कमांड का उपयोग करके हटा नहीं देते।
- हम कर्मचारी आईडी 2003 की सभी जानकारी हटा देंगे, और फिर हम रोलबैक का उपयोग करके डिलीट कमांड को रोलबैक करेंगे।
DELETE FROM EMPLOYEES WHERE EMPLOYEE ID = 2003;
तालिका से डेटा हटाया गया है या नहीं, यह जांचने के लिए हम SELECT क्वेरी का उपयोग करेंगे:
SELECT * FROM EMPLOYEES;
कर्मचारी आईडी 2003 को तालिका से हटा दिया गया है। अब, हम डिलीट ऑपरेशन को पूर्ववत करने के लिए रोलबैक कमांड का उपयोग करेंगे।
ROLLBACK;
रोलबैक कमांड निष्पादित करने के बाद, हम फिर से चयन क्वेरी का उपयोग यह जांचने के लिए करेंगे कि डिलीट ऑपरेशन रोलबैक है या नहीं।
SELECT * FROM EMPLOYEES WHERE EMPLOYEE ID = 2003;