सी वापरुन मायएसक्यूएलवर प्रवेश करा

या ट्यूटोरियलद्वारे मी सी प्रोग्रामिंग भाषेमधील MySQL डेटाबेसमध्ये कसे प्रवेश करू शकतो आणि बरेच काही अवलंबिता न वापरता समुदायासमोर सादर करतो.

libmysqlclient

मला आशा आहे की ज्यांना या प्रकारच्या कागदपत्रांची आवश्यकता आहे त्यांच्यासाठी ते उपयुक्त ठरेल आणि अशा प्रकारे एसएल समुदायात योगदान देत राहतील आणि ज्यांना इंटरनेट नाही त्यांना मदत करा.

सेटअप

प्रथम आमच्याकडे डिझाइन लायब्ररी स्थापित आहेत हे तपासणे आवश्यक आहे *-dev सी / सी ++ वरुन मायएसक्यूएलवर प्रवेश करण्यात सक्षम होण्यासाठी.

mysql_config --libs

हे असे काहीतरी दिसावे:

-डब्ल्यूएल, -बॅसिमोलिक-फंक्शन्स -एल / ​​यूएसआर / लिब / मायएसक्यूएल -लमीस्क्लक्लियंट रेडिनेमिक

जर आपण लायब्ररी स्थापित केलेली नाही याची तपासणी केली तर आम्ही ती खालील आदेशासह स्थापित करतो:

sudo apt-get libmysqlclient-dev mysql_config --cflags -I / usr / समाविष्ट / mysql -DBIG_JOINS = 1 -फ्नो-कडक-अलियासिंग -DUNIV_LINUX -DUNIV_LINUX स्थापित करा

मायएसक्यूएल आणि सी दरम्यानच्या दुव्यासाठी आम्हाला जे आवश्यक आहे ते आम्ही सत्यापित आणि स्थापित केले असल्याने आम्ही डेटाबेस तयार करण्यास पुढे जाऊ:

डेटाबेस चाचणी तयार करा; चाचणी वापरा; सारणी डेटा तयार करा (आयडी इन स्वयंचलितरित्या प्राथमिक प्राथमिक कुंजी नाही, नाव वरचर (40), वय वर्षे); डेटा व्हॅल्यूज (एनयूएलएल, 'अल्मा हर्नांडेझ', 28), (एनयूएल, 'जोस सान्चेझ', 39), (एनयूएलएल, 'मार्टिन लोएरा', 25), (एनयूएलएल, 'लिओनार्डो कॉर्टेज', 26), (एनयूएलएल) समाविष्ट करा. , 'गुस्तावो रोमेरो', 25);

प्रोग्रामिंग आणि संकलन

आम्ही कोड तयार करणे सुरू ठेवतो:

क्वेरी

/ * लायब्ररी आम्ही * / # समाविष्ट करू / * लायब्ररी जी आम्हाला MySQL * / # समावेशासह कनेक्शन आणि क्वेरींचा वापर करण्यास अनुमती देते / * प्रिंटफ वगैरे वापरण्यासाठी * / इंट मेन () Y एमवायएसक्यूएल * कनेक्ट; / * MySQL * / MYSQL_RES * res साठी कनेक्शन व्हेरिएबल; / * व्हेरिएबलमध्ये क्वेरी * / MYSQL_ROW पंक्तीचा निकाल असेल; / * व्हेरिएबल ज्यात प्रत्येक रेकॉर्डसाठी फील्ड्स असतील * * Char * सर्व्हर = "लोकल होस्ट"; / * सर्व्हर पत्ता 127.0.0.1, लोकल होस्ट किंवा आयपी पत्ता * / चार * वापरकर्ता = "रूट"; / * वापरकर्ता डेटाबेस * / चार * संकेतशब्द क्वेरी करण्यासाठी = "रूट"; / * * प्रश्न असलेल्या वापरकर्त्यासाठी संकेतशब्द * / चार * डेटाबेस = "चाचणी"; / * क्वेरी करण्यासाठी डेटाबेसचे नाव * / कनेक्ट = mysql_init (NULL); / * कनेक्शन रद्द करण्यासाठी आरंभ करणे * / / * डेटाबेसशी कनेक्ट * / / ((mysql_real_connect (कनेक्ट, सर्व्हर, वापरकर्ता, संकेतशब्द, डेटाबेस, 0, एनयूएलएल, 0))) set / * पूर्वी सेट केलेले कनेक्शन पॅरामीटर्स परिभाषित करा / / fprintf (stderr, "% s; n", mysql_error (कनेक्ट)); / * बाहेर पडा (1) कोणती त्रुटी होती ते परिभाषित करताना त्रुटी आली तर; } / * एसक्यूएल क्वेरी पाठवा * / if (mysql_query (कनेक्ट, "डेटामधून * निवडा")) query / * क्वेरीची व्याख्या आणि कनेक्शनची उत्पत्ती * / fprintf (stderr, "% s \ n", mysql_error ( कनेक्ट)); बाहेर पडा (1); } res = mysql_use_result (कनेक्ट);
	printf("ID \ tName \ t \ age \ n"); ((पंक्ती = mysql_fetch_row (res))! = NULL) / * व्हेरिएबल रेसद्वारे लूपमध्ये वापरण्यासाठी मिळालेल्या सर्व नोंदी *
		printf("% s \ t% s \ t% s \ n", पंक्ती [0], पंक्ती [1], पंक्ती [2]); / * रो व्हेरिएबल टेबलमधील फील्डच्या संख्येने अ‍ॅरे बनतो * / / * रेस व्हेरिएबल रिलीज होते आणि कनेक्शन बंद होते * / mysql_free_result (res); mysql_close (कनेक्ट); }

आम्ही यासह संकलित करतोः

gcc -o क्वेरी $ (mysql_config --cflags) Query.c $ (mysql_config -–libs)

पडताळणी

आम्ही कार्यान्वित करतोः

./ क्वेरी

स्त्रोत: Hugo4295 चा ब्लॉग


आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.

  1.   कोरात्सुकी म्हणाले

    चांगले, कन्सोलवरील स्क्रिप्ट्स आणि ट्यूटोरियलच्या माझ्या शस्त्रागारात जतन केले! आपल्या जोडीदारासाठी +1 ...

  2.   रॉड्रिगो म्हणाले

    नमस्कार, या समस्येसंदर्भात वेबवर असलेल्या प्रत्येक गोष्टीबद्दल अनेक अभिनंदन, निराकरण करण्यासाठी आपले सर्वात जवळचे होते. जरा शंका, मला एक्झिक्युटेबल का नाही ??

    कॉलरच्या वेळी ही कोणतीही चूक चिन्हांकित करीत नाही परंतु ती ./ser4 निर्माण करत नाही

  3.   आंद्रेलो म्हणाले

    फेडोरामध्ये कसे करावे याबद्दल काही कल्पना आहे?

  4.   विक्टर डी ला ओ म्हणाले

    मी माहिती सामायिक करण्यास असहमत नाही परंतु कॉपीराइट ठेवले नसल्यास हे उदाहरण माझ्याद्वारे २०११ पासून तयार केले गेले आहे आणि मूळ स्त्रोताचा पत्ता येथे आहे

    http://hugo4295.blogspot.mx/search?q=MYSQL

    1.    चैतन्यशील म्हणाले

      हरकत नाही व्हिक्टर, परंतु जर आपणास लक्षात आले की मी लेख आपल्या साइटवरून घेतला नाही, परंतु दुसर्या ठिकाणी जिथे दुर्दैवाने त्यांनी स्त्रोत ठेवले नाही. तथापि, आत्ताच मी लेख संपादित करतो .. 😉

  5.   अल्फोन्सो ओव्हिडिओ लोपेज मनोबल म्हणाले

    उत्कृष्ट सामायिकरण ज्ञान महान स्वातंत्र्य

  6.   डॅनिएला फर्नांडीज म्हणाले

    आणि समाविष्ट कसे केले जाऊ शकते ???