Kodokon kodokon.com

डेटा बदलना: INSERT, UPDATE, DELETE

भूले हुए WHERE के उस चिरपरिचित जाल से बचते हुए, पंक्तियों को सुरक्षित रूप से जोड़ें, बदलें और हटाएँ।

8 मिनट · 3 प्रश्न

इस पाठ को Kodokon में खोलें

अब तक, आपने केवल डेटा पढ़ा है। आइए लेखन की ओर बढ़ें। INSERT INTO एक पंक्ति जोड़ता है: आप कॉलमों को कोष्ठकों के बीच सूचीबद्ध करते हैं, फिर VALUES के बाद उससे मेल खाती वैल्यू, उसी क्रम में। कॉलमों को स्पष्ट रूप से नाम देना एक अच्छी आदत है: टेबल की संरचना बदलने पर भी क्वेरी वैध बनी रहती है।

SQL
INSERT INTO books (id, title, author, genre, year, price)
VALUES (8, 'Ravage', 'Barjavel', 'sf', 1943, 7.5);

SELECT * FROM books WHERE id = 8;
एक 8वीं पुस्तक जोड़ना, फिर जाँचना

UPDATE मौजूदा पंक्तियों को बदलता है: SET के बाद, आप कॉलम और उसकी नई वैल्यू बताते हैं; WHERE के बाद, आप निर्दिष्ट करते हैं कि कौन सी पंक्तियाँ प्रभावित होंगी। यह WHERE अत्यंत महत्वपूर्ण है: यही बदलाव को लक्षित करता है।

SQL
UPDATE books SET price = 8.9 WHERE id = 8;

SELECT title, price FROM books WHERE id = 8;
Ravage का मूल्य 7.5 से 8.9 हो जाता है

DELETE FROM पंक्तियाँ हटाता है। UPDATE की तरह, WHERE क्लॉज़ हटाने वाली पंक्तियों को नामित करता है; बाकी बरकरार रहती हैं। आइए हमने अभी जो पुस्तक जोड़ी थी उसे हटाएँ, फिर गिनती जाँचें।

SQL
DELETE FROM books WHERE id = 8;

SELECT COUNT(*) FROM books;
वापस 7 पंक्तियों पर: मूल टेबल बरकरार है
SQL
BEGIN;
DELETE FROM books WHERE genre = 'sf';
SELECT COUNT(*) FROM books;
ROLLBACK;
SELECT COUNT(*) FROM books;
ट्रांज़ैक्शन के दौरान 3 पंक्तियाँ, ROLLBACK के बाद 7

ज्ञान जांच

सुनिश्चित करें कि आपको इस पाठ के मुख्य बिंदु याद हैं।

  1. WHERE के बिना चलाए जाने पर क्वेरी DELETE FROM books; क्या करती है?
    • यह टेबल की पहली पंक्ति हटा देती है
    • यह टेबल की सभी पंक्तियाँ हटा देती है
    • यह एक सिंटैक्स त्रुटि उत्पन्न करती है
  2. कौन सी क्वेरी id 3 वाली पुस्तक का मूल्य बदलकर 6.9 करती है?
    • UPDATE books SET price = 6.9 WHERE id = 3;
    • INSERT INTO books SET price = 6.9;
    • SELECT price = 6.9 FROM books WHERE id = 3;
  3. किसी ट्रांज़ैक्शन में, ROLLBACK किसलिए है?
    • बदलावों को पक्के तौर पर कमिट करने के लिए
    • BEGIN के बाद किए गए सभी बदलावों को रद्द करने के लिए
    • प्रभावित टेबल को हटाने के लिए