अध्याय 4: बुनियादी CRUD ऑपरेशन्स

अध्याय 4: बुनियादी CRUD ऑपरेशन्स

CRUD ऑपरेशन्स (Create, Read, Update, Delete) किसी भी डेटाबेस सिस्टम के बुनियादी कार्य होते हैं। इन ऑपरेशन्स के माध्यम से हम डेटाबेस में डेटा जोड़ सकते हैं, डेटा को पढ़ सकते हैं, डेटा को संशोधित कर सकते हैं और डेटा को हटा सकते हैं। इस अध्याय में, हम MySQL में इन चारों ऑपरेशन्स को विस्तार से समझेंगे। हम प्रत्येक ऑपरेशन के लिए आवश्यक SQL क्वेरीज और उनके उपयोग के परिदृश्यों पर चर्चा करेंगे। इस अध्याय के अंत तक, आप MySQL डेटाबेस में CRUD ऑपरेशन्स को प्रभावी ढंग से परफॉर्म करने में सक्षम हो जाएंगे।

डेटा सम्मिलन (INSERT): डेटा को टेबल में कैसे डालें

डेटाबेस में डेटा सम्मिलन (INSERT) करना एक बुनियादी और महत्वपूर्ण ऑपरेशन है। इस सेक्शन में, हम MySQL में INSERT ऑपरेशन का उपयोग करके डेटा को टेबल में डालने की प्रक्रिया को विस्तार से समझेंगे। INSERT ऑपरेशन के माध्यम से हम एक या एक से अधिक रिकॉर्ड्स को डेटाबेस टेबल में जोड़ सकते हैं।

सिंटैक्स (Syntax)

डेटा सम्मिलन के लिए सामान्य सिंटैक्स निम्नलिखित है:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

उदाहरण (Example)

मान लीजिए हमारे पास एक टेबल है जिसका नाम students है, जिसमें निम्नलिखित कॉलम्स हैं: id, name, age, और grade। हम इस टेबल में डेटा सम्मिलित करेंगे।

  1. सिंगल रिकॉर्ड सम्मिलन (Inserting a Single Record)

INSERT INTO students (name, age, grade)
VALUES ('John Doe', 15, 'A');

इस क्वेरी से students टेबल में एक नया रिकॉर्ड सम्मिलित होगा जिसमें नाम ‘John Doe’, आयु 15, और ग्रेड ‘A’ है।

  1. मल्टीपल रिकॉर्ड्स सम्मिलन (Inserting Multiple Records)

INSERT INTO students (name, age, grade)
VALUES 
('Jane Smith', 14, 'B'),
('Sam Brown', 16, 'A'),
('Emily Davis', 15, 'B');

इस क्वेरी से students टेबल में तीन नए रिकॉर्ड्स सम्मिलित होंगे।

कॉलम्स का उल्लेख न करना (Inserting Without Specifying Columns)

यदि आप सभी कॉलम्स में वैल्यूज सम्मिलित कर रहे हैं, और सभी वैल्यूज की क्रमबद्धता सही है, तो आप कॉलम्स का उल्लेख किए बिना भी डेटा सम्मिलित कर सकते हैं:

INSERT INTO students
VALUES (NULL, 'Alice Johnson', 17, 'A');

इस क्वेरी में, id कॉलम ऑटो-इनक्रिमेंटेड है, इसलिए हम NULL पास कर रहे हैं।

डुप्लीकेट हैंडलिंग (Handling Duplicates)

यदि आप चाहते हैं कि डुप्लीकेट एंट्रीज को हैंडल किया जाए, तो आप INSERT IGNORE या ON DUPLICATE KEY UPDATE का उपयोग कर सकते हैं:

INSERT IGNORE:

INSERT IGNORE INTO students (id, name, age, grade)
VALUES (1, 'Michael Scott', 18, 'C');

  • यह क्वेरी डुप्लीकेट एंट्री को इग्नोर करेगी और कोई एरर नहीं देगी।

ON DUPLICATE KEY UPDATE:

INSERT INTO students (id, name, age, grade)
VALUES (1, 'Michael Scott', 18, 'C')
ON DUPLICATE KEY UPDATE 
name = VALUES(name), age = VALUES(age), grade = VALUES(grade);

  • यह क्वेरी डुप्लीकेट एंट्री मिलने पर मौजूदा रिकॉर्ड को अपडेट करेगी।

INSERT ऑपरेशन MySQL डेटाबेस में डेटा सम्मिलित करने के लिए उपयोगी और आवश्यक है। सही सिंटैक्स और तकनीक का उपयोग करके, आप अपने डेटाबेस में सिंगल और मल्टीपल रिकॉर्ड्स को प्रभावी ढंग से सम्मिलित कर सकते हैं। डुप्लीकेट हैंडलिंग के विकल्पों के साथ, आप डेटाबेस की इंटीग्रिटी और परफॉरमेंस को भी बनाए रख सकते हैं। इस सेक्शन के माध्यम से, आपने डेटा सम्मिलन की विभिन्न तकनीकों को सीखा, जो आपके डेटाबेस मैनेजमेंट स्किल्स को और भी मजबूत बनाएंगी।

डेटा चयन (SELECT): टेबल से डेटा कैसे प्राप्त करें

डेटाबेस में डेटा चयन (SELECT) करना एक बुनियादी और आवश्यक ऑपरेशन है। यह ऑपरेशन हमें डेटाबेस टेबल्स से डेटा को रिट्रीव करने की अनुमति देता है। इस सेक्शन में, हम MySQL में SELECT ऑपरेशन का उपयोग करके टेबल से डेटा प्राप्त करने की प्रक्रिया को विस्तार से समझेंगे। SELECT ऑपरेशन के माध्यम से हम विभिन्न प्रकार के डेटा को क्वेरी कर सकते हैं और फिल्टर, सॉर्ट और समूहित कर सकते हैं।

सिंटैक्स (Syntax)

डेटा चयन के लिए सामान्य सिंटैक्स निम्नलिखित है:

SELECT column1, column2, ...
FROM table_name
WHERE condition;

उदाहरण (Examples)

  1. सभी कॉलम्स का चयन (Selecting All Columns)

यदि आप सभी कॉलम्स का डेटा प्राप्त करना चाहते हैं, तो आप * का उपयोग कर सकते हैं:

SELECT * FROM students;

यह क्वेरी students टेबल के सभी रिकॉर्ड्स और सभी कॉलम्स को रिट्रीव करेगी।

  1. विशिष्ट कॉलम्स का चयन (Selecting Specific Columns)

यदि आप केवल कुछ विशेष कॉलम्स का डेटा प्राप्त करना चाहते हैं, तो कॉलम के नाम स्पेसिफाई करें:

SELECT name, age FROM students;

यह क्वेरी केवल name और age कॉलम्स का डेटा रिट्रीव करेगी।

  1. कंडीशन के साथ डेटा चयन (Selecting Data with Condition)

डेटा को फिल्टर करने के लिए WHERE क्लॉज का उपयोग करें:

SELECT * FROM students WHERE grade = 'A';

यह क्वेरी केवल उन रिकॉर्ड्स को रिट्रीव करेगी जिनकी grade ‘A’ है।

  1. डेटा सॉर्ट करना (Sorting Data)

डेटा को सॉर्ट करने के लिए ORDER BY क्लॉज का उपयोग करें:

SELECT * FROM students ORDER BY age DESC;

यह क्वेरी students टेबल के डेटा को age कॉलम के आधार पर घटते क्रम

(descending order) में सॉर्ट करेगी।

  1. डेटा को सीमित करना (Limiting Data)

डेटा की संख्या को सीमित करने के लिए LIMIT क्लॉज का उपयोग करें:

SELECT * FROM students LIMIT 5;

यह क्वेरी केवल पहले पांच रिकॉर्ड्स को रिट्रीव करेगी।

  1. डेटा समूहित करना (Grouping Data)

डेटा को समूहित करने के लिए GROUP BY क्लॉज का उपयोग करें:

SELECT grade, COUNT(*) FROM students GROUP BY grade;

यह क्वेरी प्रत्येक grade के लिए छात्रों की संख्या को गिनकर रिट्रीव करेगी।

  1. जॉइनिंग टेबल्स (Joining Tables)

एक से अधिक टेबल्स से डेटा प्राप्त करने के लिए JOIN क्लॉज का उपयोग करें:

SELECT students.name, classes.class_name
FROM students
JOIN classes ON students.class_id = classes.id;

यह क्वेरी students और classes टेबल्स को जॉइन करके नाम और क्लास का डेटा रिट्रीव करेगी।

उप-चयन (Subqueries)

उप-चयन का उपयोग एक क्वेरी के अंदर दूसरी क्वेरी लिखने के लिए किया जा सकता है:

SELECT name FROM students
WHERE age > (SELECT AVG(age) FROM students);

यह क्वेरी उन छात्रों के नाम रिट्रीव करेगी जिनकी आयु औसत आयु से अधिक है।

SELECT ऑपरेशन MySQL डेटाबेस में डेटा को रिट्रीव करने का सबसे महत्वपूर्ण और अक्सर उपयोग होने वाला ऑपरेशन है। सही सिंटैक्स और तकनीकों का उपयोग करके, आप विभिन्न प्रकार के डेटा चयन कर सकते हैं, डेटा को फिल्टर, सॉर्ट और समूहित कर सकते हैं, और मल्टीपल टेबल्स से डेटा जॉइन कर सकते हैं। इस सेक्शन के माध्यम से, आपने डेटा चयन की विभिन्न तकनीकों को सीखा, जो आपके डेटाबेस मैनेजमेंट स्किल्स को और भी मजबूत बनाएंगी।

डेटा अद्यतन (UPDATE): मौजूदा डेटा को कैसे अपडेट करें

डेटाबेस में डेटा अद्यतन (UPDATE) करना एक महत्वपूर्ण ऑपरेशन है, जो हमें पहले से मौजूद डेटा को संशोधित करने की अनुमति देता है। इस सेक्शन में, हम MySQL में UPDATE ऑपरेशन का उपयोग करके मौजूदा डेटा को अपडेट करने की प्रक्रिया को विस्तार से समझेंगे। हम विभिन्न परिदृश्यों और उदाहरणों के माध्यम से जानेंगे कि कैसे विभिन्न कॉलम्स और रिकॉर्ड्स को अपडेट किया जा सकता है।

सिंटैक्स (Syntax)

डेटा अद्यतन के लिए सामान्य सिंटैक्स निम्नलिखित है:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

उदाहरण (Examples)

  1. सभी रिकॉर्ड्स को अपडेट करना (Updating All Records)

यदि आप टेबल के सभी रिकॉर्ड्स को अपडेट करना चाहते हैं, तो WHERE क्लॉज को छोड़ सकते हैं:

UPDATE students
SET grade = 'B';

यह क्वेरी students टेबल के सभी रिकॉर्ड्स के grade कॉलम की वैल्यू को ‘B’ में अपडेट कर देगी।

  1. विशिष्ट रिकॉर्ड्स को अपडेट करना (Updating Specific Records)

विशिष्ट रिकॉर्ड्स को अपडेट करने के लिए WHERE क्लॉज का उपयोग करें:

UPDATE students
SET grade = 'A'
WHERE name = 'John Doe';

यह क्वेरी students टेबल में उस रिकॉर्ड को अपडेट करेगी, जिसका नाम ‘John Doe’ है, और उसका grade ‘A’ में बदल देगी।

  1. मल्टीपल कॉलम्स को अपडेट करना (Updating Multiple Columns)

एक से अधिक कॉलम्स को एक साथ अपडेट किया जा सकता है:

UPDATE students
SET age = 16, grade = 'A'
WHERE name = 'Jane Smith';

यह क्वेरी students टेबल में ‘Jane Smith’ के age को 16 और grade को ‘A’ में अपडेट कर देगी।

  1. कंडीशन के आधार पर अपडेट करना (Updating Based on Condition)

डेटा को एक विशेष कंडीशन के आधार पर अपडेट किया जा सकता है:

UPDATE students
SET grade = 'C'
WHERE age > 17;

यह क्वेरी उन सभी छात्रों के grade को ‘C’ में अपडेट कर देगी, जिनकी age 17 से अधिक है।

  1. साथ में SELECT क्वेरी का उपयोग (Using UPDATE with SELECT)

आप एक उप-चयन (subquery) का उपयोग कर सकते हैं ताकि आप किसी अन्य टेबल से वैल्यूज़ को अपडेट कर सकें:

UPDATE students
SET grade = (SELECT grade FROM assessments WHERE assessments.student_id = students.id)
WHERE students.id = 1;

यह क्वेरी students टेबल में id 1 वाले छात्र का grade उस वैल्यू से अपडेट करेगी जो assessments टेबल से प्राप्त होती है।

  1. LIMIT के साथ अपडेट करना (Updating with LIMIT)

आप LIMIT क्लॉज का उपयोग कर सकते हैं ताकि आप केवल एक निश्चित संख्या में रिकॉर्ड्स को अपडेट कर सकें:

UPDATE students
SET grade = 'B'
WHERE grade = 'A'
LIMIT 10;

यह क्वेरी students टेबल में grade ‘A’ वाले केवल पहले 10 रिकॉर्ड्स को ‘B’ में अपडेट करेगी।

  1. डेटा का कंडीशनल इंक्रीमेंट (Conditional Incrementing of Data)

आप डेटा को कंडीशन के आधार पर इंक्रीमेंट या डिक्रीमेंट भी कर सकते हैं:

UPDATE students
SET age = age + 1
WHERE grade = 'B';

यह क्वेरी students टेबल में grade ‘B’ वाले सभी छात्रों की age को 1 साल बढ़ा देगी।

महत्वपूर्ण बातें (Important Considerations)

  • डेटा सुरक्षा (Data Safety): UPDATE क्वेरी को हमेशा सावधानी से उपयोग करें, खासकर जब WHERE क्लॉज का उपयोग नहीं हो। बिना WHERE क्लॉज के, सभी रिकॉर्ड्स अपडेट हो जाएंगे, जो अक्सर अवांछनीय होता है।
  • बैकअप (Backup): महत्वपूर्ण डेटा को अपडेट करने से पहले हमेशा बैकअप लें ताकि किसी भी गलती की स्थिति में डेटा को पुनः प्राप्त किया जा सके।
  • ट्रांजैक्शंस (Transactions): यदि एक साथ कई अपडेट ऑपरेशन्स हो रहे हैं, तो ट्रांजैक्शन का उपयोग करें ताकि आप किसी भी एरर की स्थिति में सभी बदलावों को रोलबैक कर सकें।

UPDATE ऑपरेशन MySQL डेटाबेस में मौजूदा डेटा को संशोधित करने के लिए एक शक्तिशाली टूल है। सही सिंटैक्स और तकनीकों का उपयोग करके, आप डेटा को प्रभावी ढंग से अपडेट कर सकते हैं। इस सेक्शन के माध्यम से, आपने सीखा कि कैसे विभिन्न स्थितियों और आवश्यकताओं के अनुसार डेटा को अपडेट किया जा सकता है, जो आपके डेटाबेस मैनेजमेंट स्किल्स को और भी मजबूत बनाएगा।

डेटा हटाना (DELETE): टेबल से डेटा कैसे हटाएं

डेटाबेस में डेटा हटाना (DELETE) एक महत्वपूर्ण ऑपरेशन है, जो हमें टेबल से अनावश्यक या अवांछित डेटा को हटाने की अनुमति देता है। इस सेक्शन में, हम MySQL में DELETE ऑपरेशन का उपयोग करके टेबल से डेटा हटाने की प्रक्रिया को विस्तार से समझेंगे। हम विभिन्न परिदृश्यों और उदाहरणों के माध्यम से जानेंगे कि कैसे विभिन्न रिकॉर्ड्स को सुरक्षित और प्रभावी ढंग से हटाया जा सकता है।

सिंटैक्स (Syntax)

डेटा हटाने के लिए सामान्य सिंटैक्स निम्नलिखित है:

DELETE FROM table_name
WHERE condition;

उदाहरण (Examples)

  1. सभी रिकॉर्ड्स को हटाना (Deleting All Records)

यदि आप टेबल के सभी रिकॉर्ड्स को हटाना चाहते हैं, तो WHERE क्लॉज को छोड़ सकते हैं:

DELETE FROM students;

यह क्वेरी students टेबल के सभी रिकॉर्ड्स को हटा देगी। ध्यान दें: यह क्वेरी टेबल को खाली कर देगी, इसलिए इसका उपयोग सावधानीपूर्वक करें।

  1. विशिष्ट रिकॉर्ड्स को हटाना (Deleting Specific Records)

विशिष्ट रिकॉर्ड्स को हटाने के लिए WHERE क्लॉज का उपयोग करें:

DELETE FROM students
WHERE name = 'John Doe';

यह क्वेरी students टेबल से उस रिकॉर्ड को हटा देगी, जिसका नाम ‘John Doe’ है।

  1. कंडीशन के आधार पर डेटा हटाना (Deleting Data Based on Condition)

डेटा को एक विशेष कंडीशन के आधार पर हटाया जा सकता है:

DELETE FROM students
WHERE grade = 'C';

यह क्वेरी उन सभी छात्रों के रिकॉर्ड्स को हटा देगी जिनकी grade ‘C’ है।

  1. LIMIT के साथ डेटा हटाना (Deleting Data with LIMIT)

आप LIMIT क्लॉज का उपयोग कर सकते हैं ताकि आप केवल एक निश्चित संख्या में रिकॉर्ड्स को हटा सकें:

DELETE FROM students
WHERE grade = 'C'
LIMIT 10;

यह क्वेरी students टेबल में grade ‘C’ वाले केवल पहले 10 रिकॉर्ड्स को हटा देगी।

  1. जॉइनिंग टेबल्स के साथ डेटा हटाना (Deleting Data with Joins)

आप जॉइन का उपयोग कर सकते हैं ताकि आप किसी अन्य टेबल के आधार पर डेटा को हटा सकें:

DELETE students
FROM students
JOIN classes ON students.class_id = classes.id
WHERE classes.class_name = 'Math';

यह क्वेरी उन छात्रों के रिकॉर्ड्स को हटा देगी जो ‘Math’ क्लास में हैं।

महत्वपूर्ण बातें (Important Considerations)

  • डेटा सुरक्षा (Data Safety): DELETE क्वेरी को हमेशा सावधानी से उपयोग करें, खासकर जब WHERE क्लॉज का उपयोग नहीं हो। बिना WHERE क्लॉज के, सभी रिकॉर्ड्स हट जाएंगे, जो अक्सर अवांछनीय होता है।
  • बैकअप (Backup): महत्वपूर्ण डेटा को हटाने से पहले हमेशा बैकअप लें ताकि किसी भी गलती की स्थिति में डेटा को पुनः प्राप्त किया जा सके।
  • ट्रांजैक्शंस (Transactions): यदि एक साथ कई DELETE ऑपरेशन्स हो रहे हैं, तो ट्रांजैक्शन का उपयोग करें ताकि आप किसी भी एरर की स्थिति में सभी बदलावों को रोलबैक कर सकें।

DELETE ऑपरेशन MySQL डेटाबेस में टेबल से अनावश्यक या अवांछित डेटा को हटाने के लिए एक शक्तिशाली टूल है। सही सिंटैक्स और तकनीकों का उपयोग करके, आप डेटा को प्रभावी ढंग से हटा सकते हैं। इस सेक्शन के माध्यम से, आपने सीखा कि कैसे विभिन्न स्थितियों और आवश्यकताओं के अनुसार डेटा को हटाया जा सकता है, जो आपके डेटाबेस मैनेजमेंट स्किल्स को और भी मजबूत बनाएगा।



Index