Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

पायथन का उपयोग करके MySQL से कनेक्ट करना

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

MySQL एक मजबूत ओपन-सोर्स SQL-आधारित, रिलेशनल डेटाबेस मैनेजमेंट सिस्टम है जिसका उपयोग कई सॉफ्टवेयर प्रोग्राम और वेब सर्वर में किया जाता है। इस लेख का उद्देश्य यह दिखाना है कि MySQL से कनेक्ट करने के लिए पायथन का उपयोग करने के लिए कैसे कनेक्ट करें और कुछ बुनियादी कार्य करें।

MySQL से कनेक्ट करने के लिए Python का उपयोग क्यों करें?

आप खुद से पूछ रहे होंगे कि यह जानकारी क्यों महत्वपूर्ण है? सबसे अच्छा जवाब है, ये दो घटक एक दूसरे के शानदार पूरक हैं! स्रोत की जानकारी का उपयोग करके डेटा में हेरफेर करने के लिए पायथन की क्षमता बेजोड़ है। MySQL या MariaDB में वह डेटा होता है जिसे पायथन द्वारा हेरफेर किया जा सकता है। एक दूसरे को बढ़ाने और पूरक करने के लिए इन दो कारकों का उपयोग केवल उनके बीच समग्र तालमेल को बढ़ाता है।

चरण 1. कनेक्टर मॉड्यूल स्थापित करना

आइए कनेक्टर मॉड्यूल को स्थापित करके शुरू करें। MySQL को Python से जोड़ने का पहला कदम पिप पायथन मॉड्यूल को स्थापित करना है। यदि आपके पास पहले से पाइप स्थापित नहीं है, तो कई ऑपरेटिंग सिस्टम के तहत पाइप स्थापित करने के लिए विस्तृत निर्देश लिक्विड वेब नॉलेज बेस में पाए जा सकते हैं। एक बार जब हम पाइप स्थापित कर लेते हैं, तो हमें mysql-connector-python को स्थापित करने की आवश्यकता होती है निम्न आदेश का उपयोग कर ड्राइवर।

root@host:~# pip install mysql-connector-python mysql-connector-python का संग्रह mysql_connector_python-8.0.21-cp27-cp27mu-manylinux1_x86_64.whl (16.0 MB) |###### ########################| 16.0 एमबी 13.7 एमबी/एस प्रोटोबफ का संग्रह>=3.0.0 प्रोटोबफ-3.12.2-सीपी27-सीपी27मु-मैनीलिनक्स1_x86_64.whl (1.3 एमबी) डाउनलोड करना |################ #############| 1.3 एमबी 17.0 एमबी/एस आवश्यकता पहले से ही संतुष्ट है:/usr/लोकल/लिब/पायथन2.7/डिस्ट-पैकेज में सेटअपटूल (प्रोटोबफ>=3.0.0->mysql-connector-python से) (44.1.1)छह एकत्र करना> =1.9 छह-1.15.0-py2.py3-none-any.whl (10 kB) डाउनलोड करना एकत्रित पैकेज स्थापित करना:छह, प्रोटोबफ, mysql-कनेक्टर-पायथन सफलतापूर्वक स्थापित mysql-connector-python-8.0.21 protobuf-3.12.2 छह-1.15.0 

ऊपर के उदाहरण में, पाइप अन्य मॉड्यूल के लिए जाँच करता है कि mysql-connector-python ड्राइवर की आवश्यकता हो सकती है, जो कि यदि आवश्यक हो तो स्थापित किया जाएगा।

चरण 2. कनेक्टर आयात करें

अगला कदम mysql-connector-python . को आयात करना है मॉड्यूल आपके कोड के भीतर इस कमांड का उपयोग कर रहा है।

mysql.connector आयात करें 

यह कमांड पायथन को MySQL कनेक्टर मॉड्यूल से संबंधित और उपयोग किए जाने वाले सभी कार्यों और वस्तुओं को लोड और सक्षम करने के लिए कहता है।

चरण 3. MySQL को सर्वर से कनेक्ट करें

हमारा अगला कदम mysql.connector.connect() . पर कॉल करना है सर्वर से कनेक्शन बनाने की विधि।

आयात mysql.connectordb =mysql.connector.connect(host='localhost', user='username', password='password') 

आमतौर पर, MySQL डेटाबेस के साथ संचार करते समय, हम एक MySQLcursor . का उपयोग करते हैं ऑब्जेक्ट (जो mysql-कनेक्टर-पायथन मॉड्यूल का हिस्सा है)। इस ऑब्जेक्ट को एक प्रकार के CLI (कमांड-लाइन इंटरफ़ेस) के रूप में सोचें जहाँ हम सर्वर के साथ इंटरैक्ट करने के लिए उपयोग किए जाने वाले SQL क्वेरीज़ में टाइप कर सकते हैं। यह संचार कर्सर विधि का उपयोग करके पूरा किया जाता है (कर्सर =db.cursor() ), कनेक्ट विधि के साथ अंतिम चरण में बनाए गए db ऑब्जेक्ट पर कॉल करना:

आयात mysql.connectordb =mysql.connector.connect(host='localhost', user='username', password='password'')cursor =db.cursor() 

एक db.cursor ऑब्जेक्ट हमें SQL क्वेरी निष्पादित करने की अनुमति देता है। यह क्वेरी एक ऑब्जेक्ट लौटाती है जिसे हम लूप के लिए . के साथ पुनरावृति कर सकते हैं ऐसा।

आयात करें ") कर्सर में x के लिए:प्रिंट (x)

एक पहले से मौजूद डेटाबेस है जो SQL दृश्यों के बारे में पिछले KB ट्यूटोरियल में स्थापित किया गया था। इसमें एक काल्पनिक स्टॉक कार श्रृंखला के बारे में जानकारी है। उपरोक्त स्क्रिप्ट का उपयोग करते हुए, परिणाम इस तरह दिखाई देंगे:

# python mysql-test.py (u'information_schema',)(u'races',)(u'sys',) 

हम वर्तमान कर्सर के साथ अन्य कमांड का उपयोग कर सकते हैं (db.cursor() ) इस डेटाबेस के साथ बातचीत करने के लिए। यहां, हम एक ही डेटाबेस से तालिकाओं और दृश्यों की एक सूची खींचते हैं।

आयात करें कर्सर में एक्स के लिए कर्सर.एक्सक्यूट ("टेबल दिखाएं"):प्रिंट (एक्स) आउटपुट परिणाम इस तरह दिखते हैं। # पायथन mysql-test.py (u'all_finishes',)(u'drivers',)(u' खत्म',)(u'race_winners',)(u'races',)(u'stands_leader',)(u'tracks',) नोट:परिणाम के सामने "u" इंगित करता है कि यह एक यूनिकोड स्ट्रिंग है।

MySQL कर्सर ऑब्जेक्ट के साथ डेटा सम्मिलित करना

अब जब हम डेटाबेस की संरचना को पुनः प्राप्त कर सकते हैं, तो हम अन्य कमांड को निष्पादित करने के लिए कर्सर ऑब्जेक्ट का उपयोग कर सकते हैं। एक खंड था जहां रेसिंग सीजन के लिए ड्राइवरों को डेटाबेस में डाला गया था। यह इस SQL ​​​​क्वेरी का उपयोग करके किया गया था।

ड्राइवरों में डालें (नाम,कार_नंबर) मान ('बडी बेकर',28), ('डेल अर्नहार्ड जूनियर',8), ('रिकी रुड',88); 

पायथन का उपयोग करके इसी SQL क्वेरी को चलाने के लिए, हम बस इस स्ट्रिंग को हमारे कर्सर की निष्पादन विधि में पास करते हैं . इसका उपयोग करने का अभ्यास करने का एक अच्छा तरीका एक वैरिएबल को क्वेरी के टेक्स्ट के रूप में असाइन करना है और फिर कर्सर ऑब्जेक्ट पर कॉल निष्पादित करना है। आपको db.commit() को कॉल करके परिवर्तन करने के लिए mysql को भी निर्देश देना होगा।

  डीबी =mysql.connector.connect (होस्ट ='लोकलहोस्ट', उपयोगकर्ता ='उपयोगकर्ता नाम', पासवर्ड ='पासवर्ड') कर्सर =डीबी। कर्सर () कर्सर। निष्पादित ("दौड़ का उपयोग करें") क्वेरी ="ड्राइवरों में डालें (नाम, कार_नंबर) मान ('बडी बेकर', 28), ('डेल अर्नहार्ड जूनियर', 8), ('रिकी रुड', 88);"cursor.execute(query)db.commit( ) 

परिणाम:

id name

कार नंबर

1 बडी बेकर

28

2

डेल अर्नहार्ड जूनियर.

8
3

रिकी रुड

88

जब हम कई पंक्तियाँ सम्मिलित करते हैं, तो इंटरफ़ेस "executemany" . विधि प्रदान करता है , जो हमें डालने के लिए मानों की एक सरणी बनाने की अनुमति देता है और एक स्ट्रिंग विशेष रूप से %s प्रतीक के साथ स्वरूपित करता है जो सरणी से मानों को प्रतिस्थापित करता है। यह उदाहरण पिछले इंसर्ट के समान है:

  डीबी =mysql.connector.connect (होस्ट ='लोकलहोस्ट', उपयोगकर्ता ='उपयोगकर्ता नाम', पासवर्ड ='पासवर्ड') कर्सर =डीबी। कर्सर () कर्सर। निष्पादित ("दौड़ का उपयोग करें") क्वेरी ="ड्राइवरों में डालें (नाम, कार_नंबर) मान ('बडी बेकर', 28), ('डेल अर्नहार्ड जूनियर', 8), ('रिकी रुड', 88);"cursor.execute(query)db.commit( ) 

सरणी 'ड्राइवर' से मान एक-एक करके 'sql' स्टेटमेंट में पास किए जाते हैं और फिर 'executemany() में पास किए जाते हैं। ’

चुनें का उपयोग करना

अन्य SQL कथनों की तरह, हम चयन को निष्पादित करने के लिए कर्सर ऑब्जेक्ट का उपयोग कर सकते हैं। एक चयन के बाद, कर्सर कुछ नई विधियों को प्राप्त करता है, जिसमें fetchall() . शामिल हैं और fetchone() . fetchall() सभी परिणामों की एक सूची देता है। प्रत्येक परिणाम एक सूची है जिसमें संबंधित कॉलम उस क्रम में होते हैं जिसमें उन्हें चुना गया था। fetchone() विधि परिणाम सेट से अगला परिणाम देता है।

sql ="चालकों से नाम, car_number चुनें"cursor.execute(sql)results =कर्सर.fetchall()परिणाम में x के लिए:प्रिंट(x) 

परिणाम:

(u'Buddy बेकर', 28)(u'Dale अर्नहार्ड जूनियर', 8)(u'Ricky Rudd', 88) 

यदि हम एक बार में एक परिणाम चाहते हैं, तो हम fetchone() . का उपयोग कर सकते हैं

sql ="चालकों से नाम, car_number चुनें"cursor.execute(sql)results =कर्सर.fetchone()print(results) 

परिणाम:

(u'Buddy बेकर', 28) 

डेटा अपडेट करना और हटाना

इंसर्ट कमांड की तरह, डिलीट और अपडेट कमांड एक कर्सर ऑब्जेक्ट का उपयोग करते हैं और db.commit() को कॉल करना चाहिए; अन्यथा, वे अन्य SQL कमांड के समान हैं।

अपडेट करें :

sql ="अपडेट ड्राइवर सेट car_number =1 जहां car_number =88"cursor.execute(sql)db.commit()sql ="सेलेक्ट नाम,car_number ड्राइवर्स से"cursor.execute(sql)results =कर्सर .fetchall() परिणामों में x के लिए:प्रिंट(x)(u'Buddy बेकर', 28)(u'Dale अर्नहार्ड जूनियर', 8)(u'Ricky Rudd', 1) 

हटाएं :

sql ="ड्राइवरों से हटाएं जहां car_number =8"cursor.execute(sql)db.commit()sql ="नाम चुनें, ड्राइवरों से car_number"cursor.execute(sql)results =कर्सर.fetchall( ) परिणामों में x के लिए:Print(x)(u'Buddy बेकर', 28)(u'Ricky Rudd', 1) 

निष्कर्ष

तो, इस लेख के निष्कर्ष क्या हैं? MySQL के साथ बातचीत करने के लिए पायथन का उपयोग करना डेटा में हेरफेर करने का एक सरल और प्रभावी तरीका है जो प्रत्येक सिस्टम को पूरक करता है।

कोई सवाल? हम होस्टिंग™ में सबसे मददगार इंसान होने पर गर्व करते हैं! हमारे तकनीकी सहायता कर्मचारी इस लेख से संबंधित किसी भी मुद्दे में सहायता के लिए हमेशा उपलब्ध हैं, 24 घंटे एक दिन, सप्ताह में 7 दिन साल में 365 दिन।

हम अपने टिकटिंग सिस्टम के माध्यम से [email protected] पर, फोन द्वारा (800-580-4986 पर), या लाइवचैट के माध्यम से या आप जो भी तरीका पसंद करते हैं, उपलब्ध हैं। हम आपके लिए कड़ी मेहनत करते हैं ताकि आप आराम कर सकें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL प्रदर्शन ट्यूनिंग पर 10 उपयोगी टिप्स

  2. MySQL में मौजूदा टेबल में ऑटो इंक्रीमेंट कॉलम कैसे जोड़ें

  3. अपवाद:पहले से ही इस कनेक्शन से जुड़ा एक खुला डेटा रीडर है जिसे पहले बंद किया जाना चाहिए

  4. घातक त्रुटि:अपरिभाषित फ़ंक्शन पर कॉल करें mysql_connect ()

  5. TINYTEXT, TEXT, MEDIUMTEXT, और LONGTEXT अधिकतम संग्रहण आकार