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

PyMongo और अन्य Python लाइब्रेरी के साथ डेटाबेस एकीकरण में महारत

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

अवलोकन

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

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

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

डेटाबेस इंजन Python मॉड्यूल
Oracle cx_oracle
PostgreSQL psycopg2
MongoDB pymongo
MySQL mysql.connector और pymysql
Cassandra cassandra-driver

CX_ORACLE

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

PSYCOPG2

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

PYMONGO

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

MYSQL.CONNECTOR

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

CASSANDRA-DRIVER

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

PyMongo प्रदर्शन

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

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

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

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

    #!/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 स्क्रिप्ट निष्पादित करें। आउटपुट निम्न छवि के समान दिखता है:

    # python mongo-crud.py
PyMongo और अन्य Python लाइब्रेरी के साथ डेटाबेस एकीकरण में महारत

निष्कर्ष

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

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

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


  1. - Python में दिए गए महीने और वर्ष के लिए कैलेंडर कैसे प्रिंट करें?

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

  1. Oracle 18c Grid Infrastructure को क्लस्टर और डेटाबेस बाइनरी के लिए कैसे रीलिंक करें Oracle 18c Grid Infrastructure को क्लस्टर और डेटाबेस बाइनरी के लिए कैसे रीलिंक करें

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

  1. ग्लोबल सर्वरलेस और एज डेटाबेस: निर्बाध, स्केलेबल स्टोरेज ग्लोबल सर्वरलेस और एज डेटाबेस: निर्बाध, स्केलेबल स्टोरेज

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