Cassandra क्वेरी भाषा (CQL): इन्सर्ट इनटू, अपडेट (उदाहरण)
डेटा डालें
RSI Cassandra इन्सर्ट स्टेटमेंट डेटा लिखता है Cassandra पंक्ति रूप में स्तंभ. Cassandra इन्सर्ट क्वेरी केवल उन कॉलम को स्टोर करेगी जो उपयोगकर्ता द्वारा दिए गए हैं। आपको केवल प्राथमिक कुंजी कॉलम निर्दिष्ट करना होगा।
यह दिए गए मानों के लिए कोई स्थान नहीं लेगा। प्रविष्टि के बाद कोई परिणाम नहीं लौटाया जाता है।
वाक्य - विन्यास
Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3 . . . .) values (Column1Value, Column2Value, Column3Value . . . .)
उदाहरण
यहां निष्पादित घटना का स्नैपशॉट दिया गया है Cassandra तालिका में सम्मिलित करें क्वेरी जो एक रिकॉर्ड सम्मिलित करेगी Cassandra तालिका 'छात्र'.
Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);
Insert into कमांड के सफल निष्पादन के बाद Cassandra, एक पंक्ति डाली जाएगी Cassandra तालिका छात्र रोल नं 2, नाम माइकल, विभाग सीएस और सेमेस्टर 2।
यहाँ वर्तमान डेटाबेस स्थिति का स्नैपशॉट दिया गया है।
अपसर्ट डेटा
Cassandra अपसर्ट का मतलब है कि Cassandra यदि प्राथमिक कुंजी पहले से मौजूद नहीं है तो यह एक पंक्ति सम्मिलित करेगा, अन्यथा यदि प्राथमिक कुंजी पहले से मौजूद है तो यह उस पंक्ति को अद्यतन करेगा।
अद्यतन आकड़ें
RSI Cassandra अद्यतन क्वेरी का उपयोग डेटा को अद्यतन करने के लिए किया जाता है Cassandra तालिकायदि डेटा अपडेट करने के बाद कोई परिणाम नहीं लौटाया जाता है, तो इसका मतलब है कि डेटा सफलतापूर्वक अपडेट हो गया है अन्यथा एक त्रुटि लौटाई जाएगी। कॉलम मान 'सेट' क्लॉज में बदले जाते हैं जबकि डेटा 'व्हेयर' क्लॉज के साथ फ़िल्टर किया जाता है।
वाक्य - विन्यास
Update KeyspaceName.TableName Set ColumnName1=new Column1Value, ColumnName2=new Column2Value, ColumnName3=new Column3Value, . . . Where ColumnName=ColumnValue
उदाहरण
यहां स्क्रीनशॉट है जो डेटा अपडेट करने से पहले डेटाबेस की स्थिति दिखाता है।
यहां निष्पादित घटना का स्नैपशॉट दिया गया है Cassandra अद्यतन आदेश जो विद्यार्थी तालिका में रिकॉर्ड को अद्यतन करता है।
Update University.Student Set name='Hayden' Where rollno=1;
अद्यतन क्वेरी के सफल निष्पादन के बाद Cassandra 'छात्र अपडेट करें', छात्र का नाम 'क्लार्क' से बदलकर 'हेडन' कर दिया जाएगा जिसका रोल नंबर 1 है।
यहां स्क्रीनशॉट है जो डेटा अपडेट करने के बाद डेटाबेस की स्थिति दिखाता है।
Cassandra डेटा हटाएं
'डिलीट' कमांड स्टूडेंट टेबल से एक पूरी पंक्ति या कुछ कॉलम हटा देता है। जब डेटा डिलीट किया जाता है, तो उसे तुरंत टेबल से डिलीट नहीं किया जाता। इसके बजाय डिलीट किए गए डेटा को टॉम्बस्टोन से चिह्नित किया जाता है और कॉम्पैक्शन के बाद हटा दिया जाता है।
वाक्य - विन्यास
Delete from KeyspaceName.TableName Where ColumnName1=ColumnValue
ऊपर Cassandra डिलीट रो सिंटैक्स एक या अधिक पंक्तियों को हटा देगा, जो कि where क्लॉज में डेटा फ़िल्टरेशन पर निर्भर करता है।
Delete ColumnNames from KeyspaceName.TableName Where ColumnName1=ColumnValue
उपरोक्त सिंटैक्स तालिका से कुछ कॉलम हटा देगा।
उदाहरण
यहां स्नैपशॉट दिया गया है जो डेटा हटाने से पहले वर्तमान डेटाबेस स्थिति को दर्शाता है।
यहां उस कमांड का स्नैपशॉट दिया गया है जो Student तालिका से एक पंक्ति हटा देगा।
Delete from University.Student where rollno=1;
CQL Delete कमांड के सफल निष्पादन के बाद, टेबल Student से एक पंक्ति हटा दी जाएगी जहां रोल नंबर मान 1 है।
यहां स्नैपशॉट है जो डेटा हटाने के बाद डेटाबेस की स्थिति दिखाता है।
क्या Cassandra समर्थन नहीं करता
इसमें निम्नलिखित सीमाएँ हैं Cassandra क्वेरी भाषा (सीक्यूएल).
- CQL अधिकतम, न्यूनतम, औसत जैसी एकत्रीकरण क्वेरी का समर्थन नहीं करता है
- CQL समूह द्वारा प्रश्नों का समर्थन नहीं करता है।
- CQL जॉइन्स का समर्थन नहीं करता है।
- CQL OR क्वेरीज़ का समर्थन नहीं करता है।
- CQL वाइल्डकार्ड क्वेरीज़ का समर्थन नहीं करता है।
- CQL यूनियन, इंटरसेक्शन क्वेरीज़ का समर्थन नहीं करता है।
- इंडेक्स बनाए बिना तालिका स्तंभों को फ़िल्टर नहीं किया जा सकता.
- इससे अधिक (>) और इससे कम (<) क्वेरी केवल क्लस्टरिंग कॉलम पर समर्थित है। Cassandra क्वेरी भाषा विश्लेषण प्रयोजनों के लिए उपयुक्त नहीं है क्योंकि इसमें बहुत सी सीमाएँ हैं।
Cassandra कहां क्लॉज
In Cassandra, डेटा पुनर्प्राप्ति एक संवेदनशील मुद्दा है। कॉलम फ़िल्टर किया गया है Cassandra गैर-प्राथमिक कुंजी स्तंभों पर एक सूचकांक बनाकर।
वाक्य - विन्यास
Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value AND ColumnName2=Column2Value AND . . .
उदाहरण
- यहां वह स्नैपशॉट है जो डेटा फ़िल्टरेशन के बिना स्टूडेंट तालिका से डेटा पुनर्प्राप्ति को दर्शाता है।
select * from University.Student;
स्टूडेंट तालिका से दो रिकॉर्ड प्राप्त किये गये।
- यहाँ वह स्नैपशॉट है जो डेटा फ़िल्टरेशन के साथ छात्र से डेटा पुनर्प्राप्ति को दर्शाता है। एक रिकॉर्ड पुनर्प्राप्त किया गया है।
डेटा को नाम कॉलम के अनुसार फ़िल्टर किया जाता है। सभी रिकॉर्ड पुनर्प्राप्त किए जाते हैं जिनका नाम Guru99 के बराबर है।
select * from University. Student where name='Guru99';