Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> डेटाबेस

डेटाबेस इंजन के लिए PyMongo और अन्य Python मॉड्यूल

सामान्य तौर पर, डेवलपर्स डेटाबेस कार्यों को स्वचालित करने के लिए शेल स्क्रिप्ट का उपयोग करते हैं जैसे डेटा निर्यात और आयात करना, डेटाबेस (डीबी) आंकड़े एकत्र करना, टेबल स्पेस मॉनिटरिंग, ब्लॉकिंग सत्र, डीबी लॉक, और इसी तरह।

अवलोकन

पिछले सात या अधिक वर्षों में Python® सबसे लोकप्रिय प्रोग्रामिंग भाषाओं में से एक बन गया है। यह पोस्ट विभिन्न डेटाबेस इंजनों के लिए पायथन में उपयोग किए जाने वाले विभिन्न डीबी मॉड्यूल को कवर करती है और दिखाती है कि मोंगोडीबी® संग्रह में डेटा को क्वेरी और सम्मिलित करने के लिए पाइमोंगो मॉड्यूल का उपयोग कैसे करें।

पायथन मॉड्यूल का परिचय

पायथन एक वस्तु-उन्मुख और उच्च-स्तरीय प्रोग्रामिंग भाषा है। इसमें वेब विकास, डेटा विज्ञान, Linux® प्रशासन, आदि जैसे विभिन्न कार्यान्वयन के लिए मॉड्यूल की एक विस्तृत श्रृंखला है। निम्न तालिका डेटाबेस इंजन और प्रासंगिक पायथन मॉड्यूल के बारे में विवरण दिखाती है:

डेटाबेस इंजन पायथन मॉड्यूल
ओरेकल cx_oracle
PostgreSQL psycopg2
मोंगोडीबी पाइमोंगो
MySQL mysql.connector और pymysql
कैसांद्रा कैसंड्रा-चालक

CX_ORACLE

cx_oracle एक पायथन मॉड्यूल है जो आपको Oracle डेटाबेस तक पहुँचने की अनुमति देता है और Python डेटाबेस API विनिर्देशों का पालन करता है। यह मॉड्यूल Oracle डाटाबेस 11.2,12c, 18c,19c, और 21c के साथ संगत है।

PSYCOPG2

psycopg2 एक पायथन मॉड्यूल है जो आपको पोस्टग्रेएसक्यूएल डेटाबेस तक पहुंचने की अनुमति देता है और पायथन डेटाबेस एपीआई विनिर्देशों का पालन करता है। प्रमुख विशेषताओं में से एक यह है कि यह बहु-थ्रेडेड अनुप्रयोगों को सक्षम करता है जो समवर्ती सम्मिलन और अद्यतन करने के लिए एकाधिक कर्सर खोलते हैं।

पायमोंगो

pymongo एक मॉड्यूल है जो आपको मोंगो डेटाबेस तक पहुंचने और मोंगोडीबी डेटाबेस ऑब्जेक्ट्स जैसे संग्रह, दस्तावेज़ आदि पर डेटाबेस क्वेरी करने की अनुमति देता है।

MYSQL.CONNECTOR

mysql.connector एक मॉड्यूल है जो आपको MySQL डेटाबेस तक पहुँचने की अनुमति देता है और Python डेटाबेस API विनिर्देशों का पालन करता है। यह डेटाबेस प्रश्नों को सक्षम बनाता है।

कैसांद्रा-ड्राइवर

cassandra-driver Apache® Cassandra® डेटाबेस के लिए एक पायथन ड्राइवर है और Cassandra क्वेरी भाषा (CQL) के साथ संगत है। इस मॉड्यूल का उपयोग करके, आप कैसेंड्रा डेटाबेस से कनेक्ट और क्वेरी कर सकते हैं।

पायमोंगो प्रदर्शन

पायथन प्रोग्रामिंग MongoDB में विभिन्न CRUD (क्रिएट, रीड, अपडेट और डिलीट) ऑपरेशन करता है। निम्नलिखित चरण आपको pip download डाउनलोड करने का तरीका बताते हैं , pymongo स्थापित करें मॉड्यूल, और PyMongo के साथ एक पायथन स्क्रिप्ट लिखें और निष्पादित करें:

  1. अपने Linux सर्वर पर Python के संस्करण की जाँच करने के लिए निम्न कमांड चलाएँ:

     # python --version
     Python 2.7.18
    
  2. पाइप और पाइमोंगो को स्थापित करने के लिए निम्नलिखित कमांड का उपयोग करें:

     # yum install python-pip
     # pip install pymongo
    
  3. अपनी पसंद का टेक्स्ट एडिटर खोलें और निम्नलिखित पायथन स्क्रिप्ट लिखें(mongo-crud.py ) MongoDB में एक संग्रह पर CRUD संचालन करने के लिए:

     #!/usr/bin/python
    
     from pymongo import MongoClient
     client = MongoClient(host = 'localhost:27017', username="dba", password="user123")
    
     mongodbinfo = client.server_info()
     print ("Printing MongoDB Server Information")
     print (mongodbinfo)
    
     print ("##################################################")
    
     print ("Mongo DB version")
     print ("db version:", mongodbinfo["version"])
    
     print ("##################################################")
    
     db = client.empdb
     empdetails = db.employeedetails
     print ("Existing collection information")
     printcollection = empdetails.find()
     for i in printcollection:
         print (i)
     print ("##################################################")
    
     print ("Adding one document to the collection")
     details = {"name": "Andy", "designation": "Clerk"}
     newentry = empdetails.insert_one(details)
     print (" newentry:", newentry)
    
     printcollection1 = empdetails.find()
     for i in printcollection1:
         print (i)
     print ("##################################################")
    
     print ("Performing a search on the collection")
    
     search = empdetails.find_one({ 'name' : 'Jack'})
     print (search)
     print ("##################################################")
    
     print ("Adding multiple documents to the collection")
     entry1 = {"name": "Cathy", "designation": "Data Operator"}
     entry2 = {"name": "Susan", "designation": "Operations Manager"}
     newentries = empdetails.insert_many([entry1, entry2])
    
     printcollection2 = empdetails.find()
     for i in printcollection2:
         print (i)
    
  4. निम्न आदेश चलाकर पायथन स्क्रिप्ट निष्पादित करें। आउटपुट निम्न छवि के समान दिखता है:

     # python mongo-crud.py
    
डेटाबेस इंजन के लिए PyMongo और अन्य Python मॉड्यूल

निष्कर्ष

पायथन 2020 में कार्यान्वयन की एक विस्तृत श्रृंखला के साथ सबसे अधिक ट्रेंडिंग प्रोग्रामिंग भाषाओं में से एक था। पायथन डेटाबेस इंजीनियरों को डेटाबेस कार्य स्वचालन के लिए शेल स्क्रिप्टिंग के विकल्प प्रदान करता है।

हमारी डेटाबेस सेवाओं के बारे में अधिक जानें।

कोई टिप्पणी करने या प्रश्न पूछने के लिए प्रतिक्रिया टैब का उपयोग करें। आप हमारे साथ बातचीत भी शुरू कर सकते हैं।


  1. पायथन में दिए गए महीने और साल के लिए कैलेंडर कैसे प्रिंट करें?

    आप कैलेंडर मॉड्यूल का उपयोग किसी दिए गए वर्ष के किसी दिए गए महीने के लिए पायथन में कैलेंडर प्राप्त करने के लिए कर सकते हैं। आपको तर्क के रूप में वर्ष और महीना देना होगा। उदाहरण import calendar y = 2017 m = 11 print(calendar.month(y, m)) आउटपुट यह आउटपुट देगा -    November 2017 Mo Tu We Th

  1. क्लस्टर और डेटाबेस बायनेरिज़ के लिए Oracle v18c ग्रिड इन्फ्रास्ट्रक्चर को फिर से जोड़ना

    यह ब्लॉग इस बारे में अंतर्दृष्टि प्रदान करता है कि रीलिंकिंग क्या है, इसकी आवश्यकता क्यों है, और आप Oracle® ऑब्जेक्ट फ़ाइलों को कैसे रीलिंक करते हैं। परिचय किसी भी भाषा के लिए, आपको पूर्वनिर्धारित कार्यों की आवश्यकता होती है, जो उस भाषा के लिए पुस्तकालय फ़ाइलों के अंदर परिभाषित होते हैं और एक बाइनर

  1. सर्वर रहित और एज के लिए वैश्विक डेटाबेस

    हाल के वर्षों में, सर्वर रहित आर्किटेक्चर और एज कंप्यूटिंग अनुप्रयोग परिनियोजन के लिए बहुत लोकप्रिय हो रहे हैं। लेकिन एप्लिकेशन स्टेट और सर्वर रहित और/या एज फ़ंक्शन के अंदर डेटा संग्रहीत करना एक अलग कहानी है। कई कठिनाइयाँ हैं जैसे; डेटाबेस से कनेक्शन का प्रबंधन, कई स्थानों से डेटा को तेज़ एक्सेस के