परिचय
एक बार डेटा का एक टुकड़ा डेटाबेस में प्रवेश कर जाता है, तो यह बहुत कम संभावना है कि यह तालिका में बिताए गए अपने पूरे समय में स्थिर रहे। डेटा को अद्यतन किया जाता है ताकि उन प्रणालियों में परिवर्तन को प्रतिबिंबित किया जा सके जो वे प्रासंगिक और अद्यतित रहने के लिए प्रतिनिधित्व करते हैं। SQLite आपको UPDATE
. का उपयोग करके रिकॉर्ड में मानों को बदलने की अनुमति देता है एसक्यूएल कमांड।
UPDATE
INSERT
. के समान कार्य करता है (उसमें आप कॉलम और उनके वांछित मान निर्दिष्ट करते हैं) और DELETE
(इसमें आप विशिष्ट रिकॉर्ड को लक्षित करने के लिए आवश्यक मानदंड प्रदान करते हैं)। आप डेटा को एक-एक करके या बल्क में संशोधित करने में भी सक्षम हैं। इस लेख में, हम UPDATE
. का उपयोग करने के तरीके के बारे में जानेंगे अपने डेटा को प्रभावी ढंग से प्रबंधित करने के लिए जो पहले से ही तालिकाओं में संग्रहीत है।
UPDATE
का उपयोग करना डेटा संशोधित करने के लिए
UPDATE
का मूल सिंटैक्स कमांड कुछ इस तरह दिखता है:
UPDATE my_tableSET column1 = value1, column2 = value2,WHERE id = 1;
मूल संरचना में तीन अलग-अलग खंड शामिल हैं:
- कार्य करने के लिए तालिका निर्दिष्ट करना
- उन कॉलमों को प्रदान करना जिन्हें आप अपडेट करना चाहते हैं और साथ ही उनके नए मान भी प्रदान करना
- किसी भी मानदंड को परिभाषित करते हुए SQLite को यह निर्धारित करने के लिए मूल्यांकन करने की आवश्यकता है कि कौन से रिकॉर्ड से मेल खाना है
जबकि आप सीधे कॉलम को मान निर्दिष्ट कर सकते हैं जैसे हमने ऊपर किया था, आप कॉलम सूची सिंटैक्स का भी उपयोग कर सकते हैं, जैसा कि अक्सर INSERT
में देखा जाता है। आदेश।
उदाहरण के लिए, हम ऊपर दिए गए उदाहरण को इस प्रकार बदल सकते हैं:
UPDATE my_tableSET (column1, column2) = (value1, value2)WHERE id = 1;
UPDATE
द्वारा संशोधित रिटर्निंग रिकॉर्ड्स आदेश
डिफ़ॉल्ट रूप से, SQLite UPDATE
. से प्रभावित पंक्तियों की संख्या नहीं दिखाता है बयान। हालांकि, SQLite ने RETURNING
जोड़ा संस्करण 3.35.0
. में PostgreSQL के बाद तैयार किया गया क्लॉज . यह क्लॉज कमांड को संशोधित किए गए सभी या कुछ रिकॉर्ड्स को वापस करने का कारण बनता है।
आप तारक का उपयोग कर सकते हैं *
संशोधित पंक्तियों के सभी स्तंभों को SELECT
. की तरह वापस करने के लिए प्रतीक कथन:
UPDATE my_tableSET column1 = value1, column2 = value2,WHERE id = 1RETURNING *;
इसके अतिरिक्त, आप सटीक कॉलम भी निर्दिष्ट कर सकते हैं जिन्हें आप AS
. का उपयोग करके उपनाम के साथ/बिना प्रदर्शित करना चाहते हैं :
UPDATE my_tableSET column1 = value1, column2 = value2WHERE id = 1RETURNING column1 AS 'first column';
किसी अन्य तालिका में मानों के आधार पर रिकॉर्ड अपडेट करना
नए बाहरी डेटा पर आधारित डेटा को अपडेट करना अपेक्षाकृत सुव्यवस्थित प्रक्रिया है। आपको केवल तालिका, कॉलम, नए मान और लक्ष्यीकरण मानदंड प्रदान करने की आवश्यकता है।
हालाँकि, SQLite के साथ आप UPDATE
का भी उपयोग कर सकते हैं अपने डेटाबेस के भीतर किसी अन्य तालिका में जानकारी के आधार पर तालिका मानों को सशर्त रूप से अद्यतन करने के लिए। मूल वाक्य रचना कुछ इस तरह दिखाई देगी:
UPDATE table1SET table1.column1 =( SELECT table2.column1 FROM table2 WHERE table1.column2 = table2.column2);
यहां, हम सीधे column1
. के मान को अपडेट कर रहे हैं table1
. में एक SELECT
. की वापसी होने के लिए table2
. पर सबक्वायरी , लेकिन केवल उन पंक्तियों में जहां column2
table1
. का column2
. से मेल खाता है table2
. का . FROM
क्लॉज दो तालिकाओं और WHERE
. के बीच संबंध को इंगित करता है शर्तों को निर्दिष्ट करता है।
उदाहरण के तौर पर, मान लीजिए कि हमारे पास book
. नामक दो टेबल हैं और author
।
CREATE TABLE author ( id INTEGER PRIMARY KEY, first_name TEXT, last_name TEXT, last_publication TEXT);CREATE TABLE book ( id INTEGER PRIMARY KEY, author_id INT REFERENCES author.id title TEXT, publication_year INTEGER);INSERT INTO author (first_name, last_name)VALUES ('Leo', 'Tolstoy'), ('James', 'Joyce'), ('Jean-Paul', 'Sarte'); INSERT INTO book (author_id, title, publication_year)VALUES (1, 'Anna Karenina', '1877'), (1, 'War and Peace', '1867'), (2, 'Ulysses', '1920'), (2, 'Dubliners', '1914'), (3, 'Nausea', '1938');
इन दो तालिकाओं का संबंध book.author_id
. से है संदर्भ author.id
. वर्तमान में last_publication
author
. के लिए तालिका NULL
है . हम इसे अपनी book
. में लेखक की नवीनतम प्रकाशित पुस्तक से भर सकते हैं FROM
. का उपयोग कर तालिका और WHERE
दो तालिकाओं को एक साथ लाने के लिए खंड।
यहां, हम last_publication
. को अपडेट करने का एक उदाहरण दिखाते हैं :
UPDATE author SET last_publication=( SELECT title FROM book WHERE author_id = author.id ORDER BY author_id, publication_year DESC);
अगर आप author
. से सवाल करते हैं तालिका अब, यह आपको डेटाबेस में उनके सबसे हाल के प्रकाशन का शीर्षक दिखाएगा:
SELECT * FROM author;
+------------+------------+-----------+--------------------------+ id first_name last_name last_publication +-------------+------------+-----------+--------------------------+ 1 Leo Tolstoy Anna Karenina 2 James Joyce Ulysses 3 Jean-Paul Sarte Nausea +-------------+------------+-----------+--------------------------+
निष्कर्ष
इस गाइड में, हमने उन बुनियादी तरीकों पर एक नज़र डाली, जिनसे आप UPDATE
का उपयोग करके किसी तालिका में मौजूदा डेटा को संशोधित कर सकते हैं। आज्ञा। इन बुनियादी अवधारणाओं का निष्पादन आपको तालिका के भीतर मौजूदा पंक्तियों की पहचान करने के लिए आवश्यक सटीक मानदंड निर्दिष्ट करने, मानों के साथ कॉलम नामों को अपडेट करने और वैकल्पिक रूप से उन पंक्तियों को वापस करने की अनुमति देता है जो RETURNING
से प्रभावित थे। . UPDATE
आपके डेटाबेस में प्रारंभिक प्रविष्टि के बाद आपके डेटा के प्रबंधन के लिए कमांड महत्वपूर्ण है।