MySQL सबसे लोकप्रिय रिलेशनल डेटाबेस में से एक है। यह आपको तालिकाओं में डेटा संग्रहीत करने और उन तालिकाओं के बीच संबंध बनाने की अनुमति देता है। MySQL का उपयोग करने के लिए, जो एक डेटाबेस सर्वर के रूप में चलता है, आपको इससे कनेक्ट करने के लिए कोड लिखना होगा।
अधिकांश प्रोग्रामिंग भाषाएं जैसे पायथन इसके लिए समर्थन प्रदान करती हैं। वास्तव में, पायथन में, आप कई दृष्टिकोण अपना सकते हैं, जिनमें से प्रत्येक के अपने फायदे हैं।
अपना MySQL कॉन्फ़िगरेशन तैयार करें
डेटाबेस से कनेक्ट करने के लिए, आपको निम्नलिखित मानों की आवश्यकता है:
- होस्ट: MySQL सर्वर का स्थान, लोकलहोस्ट यदि आप इसे उसी कंप्यूटर पर चला रहे हैं।
- उपयोगकर्ता: MySQL उपयोगकर्ता नाम।
- पासवर्ड: MySQL पासवर्ड।
- डेटाबेस का नाम: उस डेटाबेस का नाम जिसे आप कनेक्ट करना चाहते हैं।
MySQL डेटाबेस से कनेक्ट करने से पहले, एक नई डायरेक्टरी बनाएं:
mkdir अजगर-mysql
एक पायथन वर्चुअल वातावरण सेट करें
एक पायथन आभासी वातावरण आपको संकुल को स्थापित करने और एक अलग वातावरण में स्क्रिप्ट चलाने की अनुमति देता है। जब आप एक आभासी वातावरण बनाएँ, फिर आप इसके भीतर पायथन और पायथन निर्भरता के संस्करण स्थापित कर सकते हैं। इस तरह, आप विभिन्न संस्करणों को अलग करते हैं और संगतता समस्याओं से बचते हैं।
mysqlclient का उपयोग करके MySQL से कनेक्ट करें
mysqlclient ड्राइवर MySQL डेटाबेस सर्वर का एक इंटरफ़ेस है जो Python डेटाबेस सर्वर API प्रदान करता है। सी में लिखा है।
Mysqlclient को स्थापित करने के लिए वर्चुअल वातावरण में निम्न कमांड चलाएँ:
रंज इंस्टॉल mysqlclient
यदि आप एक Linux मशीन पर हैं, तो पहले Python 3 और MySQL डेवलपमेंट हेडर और लाइब्रेरी स्थापित करें।
# डेबियन / उबंटू
सुडो एपीटी-गेट इंस्टॉल अजगर3-देव चूक-libmysqlclient-dev बनाना-ज़रूरी
# रेड हैट / सेंटोस
सुडो यम इंस्टॉल python3-devel mysql-devel
विंडोज़ पर, आप बाइनरी व्हील फ़ाइल का उपयोग करके mysqlclient स्थापित कर सकते हैं। आपके प्लेटफ़ॉर्म के साथ संगत mysqlclient फ़ाइल डाउनलोड करें क्रिस्टोफ़ गोहलके का अनौपचारिक संग्रह. फिर आप इस तरह से mysqlclient को स्थापित करने के लिए pip के साथ डाउनलोड की गई व्हील फ़ाइल का उपयोग कर सकते हैं:
रंजइंस्टॉलसी:\\mysqlclient‑1.3.13‑सीपी36‑सीपी36एम‑win_amd64.whl
स्थापना पूर्ण होने के बाद MySQL डेटाबेस से कनेक्ट करने के लिए निम्न कनेक्शन कोड का उपयोग करें:
आयात MySQLdb
कनेक्शन = MySQLdb.connect (
मेजबान ="स्थानीय होस्ट",
उपयोगकर्ता ="<mysql_user>",
पासवार्ड ="<mysql_password>",
डीबी ="<डेटाबेस का नाम>"
)कर्सर = कनेक्शन। कर्सर ()
कर्सर.निष्पादन ("चुनते हैंडेटाबेस();")
डीबी = कर्सर.फेचोन ()
अगर डीबी:
प्रिंट ("आप'डेटाबेस से फिर से जुड़ा: ", डीबी)
वरना:
प्रिंट ('जुड़े नहीं हैं।')
इस कार्यक्रम में, आपके पास है:
- आयातित mysqlclient.
- MySQLdb.connect() का उपयोग करके एक कनेक्शन ऑब्जेक्ट बनाया गया।
- डेटाबेस कॉन्फ़िगरेशन विवरण को MySQLdb.connect() पर पास किया।
- MySQL के साथ इंटरैक्ट करने के लिए एक कर्सर ऑब्जेक्ट बनाया।
- कनेक्टेड MySQL डेटाबेस के संस्करण को लाने के लिए कर्सर ऑब्जेक्ट का उपयोग किया।
डेटाबेस विवरण को अपने साथ स्विच करना याद रखें।
mysql-कनेक्टर-पायथन का उपयोग करके MySQL से कनेक्ट करें
mysql-कनेक्टर-अजगर Oracle द्वारा समर्थित आधिकारिक कनेक्शन ड्राइवर है। यह शुद्ध पायथन में भी लिखा गया है।
इसका उपयोग शुरू करने के लिए इसे पाइप के माध्यम से स्थापित करें।
रंज इंस्टॉल mysql-कनेक्टर-अजगर
निम्न कनेक्शन कोड का उपयोग करके MySQL से कनेक्ट करें।
आयात mysql.connector
से mysql.connector आयातगलतीकनेक्शन = mysql.connector.connect (होस्ट ="स्थानीय होस्ट",
उपयोगकर्ता ="<mysql_user>",
पासवार्ड ="<mysql_password>",
डीबी ="<डेटाबेस का नाम>")
प्रयत्न:
यदिसंबंध।जुड़ा हुआ है():
कर्सर = कनेक्शन। कर्सर ()
कर्सर.निष्पादन ("चुनते हैंडेटाबेस();")
डीबी = कर्सर.फेचोन ()
प्रिंट ("आप'डेटाबेस से फिर से जुड़ा: ", डीबी)
के अलावा गलतीजैसा इ:
प्रिंट ("गलतीजबकि MySQL से कनेक्ट हो रहा है", ई)
आखिरकार:
यदिसंबंध।जुड़ा हुआ है():
कर्सर।बंद करना()
संबंध।बंद करना()
प्रिंट ("MySQL कनेक्शन है बंद किया हुआ")
उपरोक्त कनेक्शन कोड वही काम करता है जो mysqclient कनेक्शन कोड करता है।
एक बार जब आप कनेक्शन ऑब्जेक्ट बना लेते हैं, तो आप एक कर्सर बना सकते हैं, जिसका उपयोग आप डेटाबेस पर क्वेरी निष्पादित करने के लिए कर सकते हैं।
यह कनेक्शन प्रोग्राम भी उपयोग करता है पकड़ने की कोशिश खंड मैथा। त्रुटि वर्ग, से mysql.connector, आपको डेटाबेस से कनेक्ट करते समय उठाए गए अपवादों को पकड़ने देता है। यह डिबगिंग और समस्या निवारण को सरल बनाना चाहिए।
PyMySQL का उपयोग करके MySQL से कनेक्ट करें
PyMySQL कनेक्शन ड्राइवर MySQLdb के लिए एक प्रतिस्थापन है। इसका उपयोग करने के लिए, आपको पायथन 3.7 या नया चलाना होगा और आपका MySQL सर्वर संस्करण 5 होना चाहिए। 7, या नया। यदि आप मारियाडीबी का उपयोग करते हैं तो यह संस्करण 10.2 या उच्चतर होना चाहिए। आप इन आवश्यकताओं को पर पा सकते हैं PyMySQL जीथब पेज।
PyMySQL स्थापित करने के लिए, निम्न आदेश चलाएँ।
रंज इंस्टॉल PyMySQL
इस कोड का उपयोग करके PyMySQL का उपयोग करके MySQL से कनेक्ट करें।
आयात pymysql
कनेक्शन = pymysql.connect (होस्ट ="स्थानीय होस्ट",
उपयोगकर्ता ="<mysql_user>",
पासवर्ड ="<mysql_password>",
डेटाबेस ="<डेटाबेस का नाम>")
प्रयत्न:
कर्सर = कनेक्शन। कर्सर ()
कर्सर.निष्पादन ("चुनते हैंडेटाबेस();")
डीबी = कर्सर.फेचोन ()
प्रिंट ("आप'डेटाबेस से फिर से जुड़ा: ", डीबी)
के अलावा pymysql. गलती जैसा इ:
प्रिंट ("गलतीजबकि MySQL से कनेक्ट हो रहा है", ई)
आखिरकार:
कर्सर।बंद करना()
संबंध।बंद करना()
प्रिंट ("MySQL कनेक्शन है बंद किया हुआ")
एक बार जब आप कनेक्शन बना लेते हैं, और कर्सर ऑब्जेक्ट बना लेते हैं, तो आप बनाना शुरू कर सकते हैं एसक्यूएल प्रश्न.
aiomysql का उपयोग करके MySQL से कनेक्ट करें
ऐओमाइस्क्ल कनेक्शन ड्राइवर PyMySQL के अतुल्यकालिक संस्करण की तरह है। यह asyncio ढांचे से एक MySQL डेटाबेस तक पहुँच प्रदान करता है।
Aiomysql का उपयोग करने के लिए, आपको अपने विकास परिवेश में Python 3.7+ और PyMySQL स्थापित करने की आवश्यकता है।
Asyncio और aiomysql को स्थापित करने के लिए निम्न कमांड चलाएँ।
रंज इंस्टॉल असिन्सियो
रंज इंस्टॉल ऐओमाइस्क्ल
aiomysql के साथ, आप मूल कनेक्शन ऑब्जेक्ट का उपयोग करके और कनेक्शन पूल का उपयोग करके Python को MySQL से कनेक्ट कर सकते हैं।
कनेक्शन ऑब्जेक्ट का उपयोग करके MySQL डेटाबेस से कनेक्ट करने का तरीका दिखाने वाला एक उदाहरण यहां दिया गया है।
आयात असिन्सियो
आयात ऐओमाइस्क्ल
लूप = asyncio.get_event_loop ()अतुल्यकालिकडीईएफ़python_mysql():
कनेक्शन = प्रतीक्षा aiomysql.connect (होस्ट ="स्थानीय होस्ट",
उपयोगकर्ता ="<mysql_user>",
पासवर्ड ="<mysql_password>",
डेटाबेस ="<डेटाबेस का नाम>")वक्र = इंतजार कनेक्शन.कर्सर ()
प्रतीक्षा करें cur.execute ("चुनते हैंडेटाबेस();")
डीबी = इंतजार cur.fetchone ()
प्रिंट ("आप'डेटाबेस से फिर से जुड़ा: ", डीबी)
इंतजार वक्र.बंद ()
संबंध।बंद करना()
फंदा.run_until_complete(python_mysql())
डेटाबेस कनेक्शन ऑब्जेक्ट के विपरीत, कनेक्शन पूल आपको डेटाबेस कनेक्शन का पुन: उपयोग करने की अनुमति देता है। यह खुले कनेक्शन के पूल को बनाए रखने और अनुरोध पर उन्हें असाइन करके ऐसा करता है। जब कोई क्लाइंट कनेक्शन का अनुरोध करता है, तो उन्हें पूल से एक कनेक्शन दिया जाता है। क्लाइंट द्वारा कनेक्शन बंद करने के बाद, कनेक्शन पूल में वापस चला जाता है।
पूल के माध्यम से जुड़ने का मूल कोड नीचे जैसा है:
आयात असिन्सियो
आयात ऐओमाइस्क्ल
लूप = asyncio.get_event_loop ()
अतुल्यकालिकडीईएफ़python_mysql():
पूल = प्रतीक्षा करें aiomysql.create_pool (होस्ट ="स्थानीय होस्ट",
उपयोगकर्ता ="<mysql_user>",
पासवर्ड ="<mysql_password>",
डेटाबेस ="<डेटाबेस का नाम>", लूप = लूप, ऑटोकॉमिट = गलत)अतुल्यकालिकसाथ पूल.अधिग्रहण () जैसा कनेक्शन:
कर्सर = इंतजार कनेक्शन.कर्सर ()
प्रतीक्षा करें cur.execute ("चुनते हैंडेटाबेस();")
डीबी = इंतजार cur.fetchone ()
प्रिंट ("आप'डेटाबेस से फिर से जुड़ा: ", डीबी)पोखर।बंद करना()
इंतजार पूल.वेट_क्लोज्ड ()
फंदा.run_until_complete(python_mysql())
जब आप इसे चलाते हैं तो यह प्रोग्राम MySQL के उस संस्करण को प्रिंट करना चाहिए जिसे आपने कनेक्ट किया है।
अपने PostgreSQL डेटाबेस का प्रबंधन
इस लेख ने आपको कई तरीके दिखाए हैं जिनसे आप एक पायथन एप्लिकेशन को MySQL से कनेक्ट कर सकते हैं। इनमें से प्रत्येक विधि आपको डेटाबेस पर प्रश्नों के साथ बातचीत करने और निष्पादित करने की अनुमति देती है।
एक बार एक MySQL डेटाबेस से कनेक्ट होने के बाद, आप डेटा क्वेरी निष्पादित कर सकते हैं और डेटाबेस लेनदेन कर सकते हैं। आप एक पायथन एप्लिकेशन बना सकते हैं, इसे MySQL से जोड़ सकते हैं, और डेटा संग्रहीत करना शुरू कर सकते हैं।