MySQLdb C मॉड्यूल के चारों ओर एक पतली अजगर आवरण है जो MySQL डेटाबेस के लिए API को लागू करता है।
कुछ समय पहले इस्तेमाल किया गया रैपर का MySQLDb1 संस्करण था और अब इसे एक विरासत माना जाता है। MySQLDb1 बग फिक्स और Python3 समर्थन के साथ MySQLDb2 के लिए विकसित करना शुरू कर दिया है , एक MySQLDb1 को कांटा गया था और यहाँ कैसे mysqlclient दिखाई दिया, बगफिक्स और Python3 समर्थन के साथ। ऊपर उठो, तो अब हमारे पास MySQLDb2 है जो उत्पादन उपयोग के लिए तैयार नहीं है, एक पुराने ड्राइवर के रूप में MySQLDb1 और एक समुदाय ने बग फिक्स और पायथन 3 समर्थन के साथ mysqlclient का समर्थन किया।
अब, उस गड़बड़ी को हल करने के लिए, MySQL MySQL एडॉप्टर - mysql कनेक्टर , एक ऑल-इन पायथन मॉड्यूल का अपना संस्करण प्रदान करता है जो MySQL API का उपयोग करता है जिसमें कोई C मॉड्यूल निर्भरता नहीं होती है और केवल मानक python मॉड्यूल का उपयोग किया जाता है।
तो अब सवाल नीचे आता है: mysqlclient बनाम mysql कनेक्टर।
मेरे लिए, मैं आधिकारिक तौर पर समर्थित पुस्तकालय के साथ जाऊंगा, लेकिन mysqlclient
साथ ही साथ एक अच्छा विकल्प होना चाहिए। उन दोनों को फ़िक्स और नए फीचर्स के साथ सक्रिय रूप से अपडेट किया जा रहा है जिसे आप अंतिम दिनों में सक्रिय कमिट द्वारा देख सकते हैं।
नोट: मुझे उनके साथ बहुत अनुभव नहीं था, इसलिए ऐसे मामले हो सकते हैं जब एक या दूसरे आपकी आवश्यकताओं के अनुरूप नहीं होते हैं। दोनों पुस्तकालय PEP-249 मानक का पालन करते हैं जिसका अर्थ है कि आपको हर जगह कम से कम आधार कार्यक्षमता के साथ ठीक होना चाहिए।
स्थापना और निर्भरता
सी रैपर के कांटे के रूप में इसे MySQL के साथ काम करने के लिए C मॉड्यूल की आवश्यकता होती है जो इन एक्सटेंशन को बनाने के लिए अजगर हेडर फाइलें जोड़ता है (पायथन-देव पढ़ें)। स्थापना आपके द्वारा उपयोग किए जाने वाले सिस्टम पर निर्भर करती है, बस यह सुनिश्चित करें कि आप पैकेज नामों से अवगत हैं और उन्हें स्थापित कर सकते हैं।