SQLite
 sql >> डेटाबेस >  >> RDS >> SQLite

SQLite के साथ मौजूदा डेटा को कैसे अपडेट करें


परिचय

एक बार डेटा का एक टुकड़ा डेटाबेस में प्रवेश कर जाता है, तो यह बहुत कम संभावना है कि यह तालिका में बिताए गए अपने पूरे समय में स्थिर रहे। डेटा को अद्यतन किया जाता है ताकि उन प्रणालियों में परिवर्तन को प्रतिबिंबित किया जा सके जो वे प्रासंगिक और अद्यतित रहने के लिए प्रतिनिधित्व करते हैं। 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

<लेबल for="tab-16" class="collapsible__Label-yt6g6p-2 cnFMTL">इन तालिकाओं को बनाने और पॉप्युलेट करने के लिए कमांड देखने के लिए विस्तृत करें
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 आपके डेटाबेस में प्रारंभिक प्रविष्टि के बाद आपके डेटा के प्रबंधन के लिए कमांड महत्वपूर्ण है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sqlite DB से तालिका का नाम कैसे सूचीबद्ध करें - Android

  2. एंड्रॉइड:डेटाबेस पंक्ति को हटाने के बाद सूची दृश्य को रीफ्रेश करने के लिए कर्सर की आवश्यकता कैसे करें?

  3. इनर जॉइन के लिए sqlLiteDatabase.query()

  4. आईडी का उपयोग करके एकाधिक पंक्तियां हटाएं?

  5. SQLite में JSON फ़ंक्शन और ऑपरेटर (पूरी सूची)