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

शीर्ष 50 MySQL साक्षात्कार प्रश्न जो आपको 2022 में तैयार करने चाहिए

MySQL साक्षात्कार प्रश्न:

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

MySQL साक्षात्कार प्रश्न पर इस लेख में, मैं आपके साक्षात्कारों में पूछे गए MySQL से संबंधित शीर्ष प्रश्नों पर चर्चा करूंगा। इस क्षेत्र में उत्कृष्ट कौशल रखने वाले लोगों से परामर्श करने के बाद ये प्रश्न एकत्र किए जाते हैं। आपकी बेहतर समझ के लिए, मैंने लेख को निम्नलिखित अनुभागों में विभाजित किया है:

  1. MySQL DBA साक्षात्कार प्रश्न
  2. PHP MySQL साक्षात्कार प्रश्न
  3. जटिल MySQL साक्षात्कार प्रश्न
  4. मुश्किल MySQL साक्षात्कार प्रश्न

तो चलिए दोस्तों शुरू करते हैं।

MySQL DBA साक्षात्कार प्रश्न

Q1. क्या आप Mysql_connect और Mysql_pconnect में अंतर बता सकते हैं?

Mysql_connect डेटाबेस के लिए एक नया कनेक्शन खोलने के लिए उपयोग किया जाता है।
आप अनुरोध के आधार पर डेटाबेस कनेक्शन को खोल और बंद कर सकते हैं।
पेज लोड होने पर हर बार एक पेज खोलता है।
Mysql_connect बनाम Mysql_pconnect
Mysql_pconnect डेटाबेस में एक सतत कनेक्शन खोलने के लिए प्रयुक्त होता है।
आप डेटाबेस कनेक्शन को बंद नहीं कर सकते।
हर बार पेज लोड होने पर कनेक्शन को खोलने और बंद करने की कोई आवश्यकता नहीं है।

Q2. MySQL सर्वर के लिए डिफ़ॉल्ट पोर्ट क्या है?

MySQL सर्वर का डिफ़ॉल्ट पोर्ट 3306 है . इसके अलावा, TCP/IP में SQL सर्वर के लिए एक अन्य मानक डिफ़ॉल्ट पोर्ट 1433 . है

Q3. क्या आप बता सकते हैं कि MySQL में उपलब्ध विभिन्न सेट ऑपरेशन क्या हैं?

MySQL में उपलब्ध विभिन्न सेट ऑपरेशंस इस प्रकार हैं:

  • UNION - यह ऑपरेशन क्वेरी द्वारा चुनी गई सभी अलग-अलग पंक्तियों को लौटाता है
  • सभी को यूनियन करें - यह ऑपरेशन एक क्वेरी द्वारा चुनी गई सभी पंक्तियों को लौटाता है और इसमें सभी डुप्लिकेट पंक्तियाँ भी शामिल होती हैं।
  • माइनस - यह ऑपरेशन पहली क्वेरी द्वारा चुनी गई सभी अलग-अलग पंक्तियों को लौटाता है लेकिन दूसरी क्वेरी द्वारा चुनी गई पंक्तियों का चयन नहीं करता है।
  • इंटर्सेक्ट - यह ऑपरेशन दोनों प्रश्नों द्वारा चयनित सभी विशिष्ट पंक्तियों को लौटाता है।

नीचे दी गई छवि देखें:

Q4. क्या आप SQL SELECT स्टेटमेंट का क्रम बता सकते हैं?

SQL SELECT स्टेटमेंट का क्रम इस प्रकार है:

चुनें, फ्रॉम, व्हेयर, ग्रुप बाय, हैविंग, ऑर्डर बाय।

Q5. डेटाबेस व्हाइट बॉक्स टेस्टिंग क्या है?

डेटाबेस व्हाइटबॉक्स परीक्षण तालिकाओं, डेटा मॉडल, स्कीमा और संदर्भात्मक अखंडता नियमों से संबंधित है। यह ट्रिगर्स, डेटाबेस संगतता और ACID गुणों के साथ तार्किक विचारों से भी संबंधित है।

Q6. डेटाबेस ब्लैक बॉक्स टेस्टिंग क्या है?

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

Q7. सीटीई क्या है?

एक एक्सप्रेशन जिसमें SQL स्टेटमेंट में परिभाषित परिणामों का एक अस्थायी सेट होता है, उसे कॉमन टेबल एक्सप्रेशन (CTE) कहा जाता है।

Q8. मैसकल में कौन सी विभिन्न टेबल मौजूद हैं?

MySQL में मुख्य रूप से पांच प्रकार के टेबल मौजूद होते हैं। इन सभी डेटाबेस इंजनों में से, MySQL में उपयोग किया जाने वाला डिफ़ॉल्ट डेटाबेस इंजन MyISAM है। पाँच प्रकार की तालिकाओं को जानने के लिए नीचे देखें:

  • मायसाम
  • ढेर
  • मर्ज करें
  • इन्नो डीबी
  • आईएसएएम

Q9. कर्सर क्या है?

पंक्तियों के एक समूह में एक पंक्ति को इंगित करने के लिए एक सूचक के रूप में माना जाता है, एक कर्सर एक नियंत्रण के अलावा और कुछ नहीं है जो तालिका में रिकॉर्ड्स पर ट्रैवर्सल को सक्षम बनाता है। इसलिए, कर्सर का उपयोग डेटाबेस में रिकॉर्ड जोड़ने, पुनर्प्राप्त करने और हटाने जैसी ट्रैवर्सिंग क्रियाओं को करने के लिए किया जाता है।

Q10. आप डेटाबेस में NULL मानों के लिए कैसे परीक्षण कर सकते हैं?

NULL वैल्यू एक ऐसा फील्ड है, जिसमें उस विशेष फील्ड में कोई वैल्यू मौजूद नहीं है। चूंकि NULL मान की तुलना किसी अन्य NULL मान से नहीं की जा सकती है, आप तुलना ऑपरेटरों जैसे =, <, या <> का उपयोग नहीं कर सकते। NULL मानों वाले फ़ील्ड की तुलना करने के लिए, आपको IS NULL और IS NOT NULL ऑपरेटर का उपयोग करना होगा।

IS NULL और IS NOT NULL के सिंटैक्स के लिए नीचे देखें।

टेबल_नाम से कॉलम_नाम चुनें जहां कॉलम_नाम न्यूल है;टेबल_नाम से कॉलम_नाम चुनें जहां कॉलम_नाम न्यूल नहीं है;

Q11. क्या आप MySQL में BLOB और TEXT के बारे में विस्तार से बता सकते हैं?

BLOB

BLOB (बाइनरी लार्ज ऑब्जेक्ट) का उपयोग डेटा की एक चर मात्रा को रखने के लिए किया जाता है और इसमें 65,535 बाइट्स डेटा होता है। निम्नलिखित चार प्रकार के BLOB हैं।

  • टिनीब्लॉब
  • ब्लॉब
  • MEDIUMBLOB
  • लोंगब्लॉब

पाठ

TEXT का उपयोग स्ट्रिंग मानों को संग्रहीत करने के लिए किया जाता है और इसमें अधिकतम 65,535 वर्ण होते हैं। निम्नलिखित चार प्रकार के टेक्स्ट हैं

  • टिनीटेक्स्ट
  • पाठ
  • मध्यम पाठ
  • लॉन्गटेक्स्ट

Q12. क्या आप बता सकते हैं कि आप SQL में अधिकतम वेतन कैसे प्रदर्शित कर सकते हैं?

SQL में अधिकतम वेतन प्रदर्शित करने के लिए, आप MAX() नामक इनबिल्ट फ़ंक्शन का उपयोग कर सकते हैं।

Q13. NVL फ़ंक्शन, IFNULL फ़ंक्शन और ISNULL फ़ंक्शन के बीच क्या अंतर है?

NVL फ़ंक्शन, IFNULL फ़ंक्शन, और ISNULL फ़ंक्शन इन सभी का उपयोग NULL मान को किसी अन्य मान से बदलने के लिए किया जाता है। ORACLE उपयोगकर्ता NVL फ़ंक्शन का उपयोग करते हैं, MySQL उपयोगकर्ता IFNULL फ़ंक्शन का उपयोग करते हैं और SQL सर्वर ISNULL फ़ंक्शन का उपयोग करते हैं

उदाहरण के लिए, मान लें कि हमारे पास एक कॉलम (कॉलम_3) है जिसमें NULL मान हैं।

इसलिए, यदि आप नीचे दिए गए कथन को चलाते हैं, तो आपको जो आउटपुट मिलेगा वह एक NULL मान होगा।

उदाहरण_तालिका से
कॉलम_1 * (कॉलम_2 + कॉलम_3) चुनें

अब, इसे दूर करने के लिए, आप उपरोक्त तीन कार्यों का उपयोग निम्नानुसार कर सकते हैं:

सेलेक्ट कॉलम_1 * (कॉलम_2 + एनवीएल(कॉलम_3,0)) example_Table सेलेक्ट कॉलम_1 * (कॉलम_2 + आईएफएनयूएलएल (कॉलम_3,0)) से example_Table सेलेक्ट कॉलम_1 * (कॉलम_2 + ISNULL(column_3,0)) example_Table से

Q14. GUI परीक्षण और डेटाबेस परीक्षण में क्या अंतर है?

GUI परीक्षण डेटाबेस परीक्षण
फ्रंट-एंड टेस्टिंग के यूजर इंटरफेस टेस्टिंग के रूप में भी जाना जाता है। बैक-एंड परीक्षण या डेटा परीक्षण के रूप में भी जाना जाता है।
उन आइटम से डील करता है जो उपयोगकर्ताओं के साथ इंटरैक्ट करते हैं। उन वस्तुओं से संबंधित है जो उपयोगकर्ताओं से छिपाई गई हैं।
परीक्षकों को SQL जानने की आवश्यकता नहीं है। परीक्षकों को SQL जानने की आवश्यकता है।
GUI परीक्षण एप्लिकेशन के दृष्टिकोण पर केंद्रित है डेटाबेस परीक्षण बैक एंड में मौजूद डेटा के साथ फ्रंट एंड में डेटा की अखंडता पर केंद्रित है। टीडी>

Q15. मैसकल क्वेरी में तालिका से वां उच्चतम वेतन कैसे प्रदर्शित करें?

“कर्मचारी” नाम की तालिका पर विचार करें।

अब, Nth वेतन खोजने के लिए नीचे दिए गए कथन पर विचार करें।

कर्मचारी से DISTINCT(वेतन) चुनें वेतन द्वारा आदेश DESC LIMIT n-1,1

इसलिए, यदि आप 7वां सबसे बड़ा वेतन जानना चाहते हैं, तो नीचे दिए गए प्रश्न पर विचार करें।

कर्मचारी से DISTINCT(वेतन) चुनें वेतन द्वारा आदेश DESC LIMIT 6,1 

अब, प्रश्नों के अगले सेट पर चलते हैं, जो कि PHP MySQL साक्षात्कार प्रश्न है।

PHP MySQL साक्षात्कार प्रश्न

Q1. PHP और MySQL का उपयोग करके डेटाबेस बनाने के लिए किस कमांड का उपयोग किया जाता है?

PHP और MySQL दोनों का उपयोग करके डेटाबेस बनाने के लिए प्रयुक्त कमांड mysql_create_db(“Database Name”) है।

Q2. क्या आप Mysql_fetch_object और Mysql_fetch_array के बीच अंतर बता सकते हैं?

दोनों समान हैं लेकिन एक ही अंतर के साथ भिन्न हैं। Mysql_fetch_object वस्तु के रूप में लौटता है और Mysql_fetch_array एक सरणी देता है। इसका अर्थ यह है कि आप डेटा को उनके ऑफ़सेट द्वारा एक्सेस नहीं कर सकते, लेकिन केवल इसके फ़ील्ड नामों के माध्यम से एक्सेस कर सकते हैं।

Q3:वे कौन से तरीके हैं जिनसे आप PHP का उपयोग करके MySQL के परिणाम सेट में डेटा पुनर्प्राप्त कर सकते हैं?

PHP का उपयोग करके MySQL के परिणाम सेट में डेटा पुनर्प्राप्त करने के विभिन्न तरीके इस प्रकार हैं:

  • mysql_fetch_object:यह स्थिरांक एक वस्तु के रूप में एक परिणाम पंक्ति प्राप्त करता है।
  • mysql_fetch_array:यह स्थिरांक एक परिणाम पंक्ति को एक सहयोगी सरणी, संख्यात्मक सरणी या दोनों के रूप में प्राप्त करता है।
  • mysql_fetch_row:यह स्थिरांक हमें एक एन्यूमरेटेड एरे के रूप में एक परिणाम पंक्ति देता है।
  • mysql_fetch_assoc:यह स्थिरांक हमें एक सहयोगी सरणी के रूप में एक परिणाम पंक्ति देता है।

Q4. क्या आप बता सकते हैं कि कितने मान MySQL के फ़ंक्शन को विचार करने के लिए सेट कर सकते हैं?

MySQL का सेट फ़ंक्शन अधिकतम 64 मान ले सकता है, लेकिन 0 मानों पर भी विचार कर सकता है।

Q5. क्या आप सॉफ्टवेयर प्रोग्राम, सर्वर और ऑपरेटिंग सिस्टम के किसी अन्य संयोजन के बजाय लैम्प (लिनक्स, अपाचे, माईएसक्यूएल, पीएचपी) को चुनने के कारण बता सकते हैं?

लैंप स्टैक को चुनने के पीछे का कारण बहुत आसान है। Linux, Apache, MySQL, PHP ओपन सोर्स सॉफ्टवेयर हैं। लिनक्स ऑपरेटिंग सिस्टम की सुरक्षा विंडोज से कहीं ज्यादा है। कार्यक्षमता और सुरक्षा के लिहाज से अपाचे सर्वर दूसरों की तुलना में बेहतर सर्वर है। MySQL सबसे लोकप्रिय ओपन सोर्स डेटाबेस में से एक है जिसका उपयोग PHP के साथ विभिन्न प्रकार के कार्य करने के लिए किया जाता है।

Q6. क्या आप PHP में दी गई दो तिथियों के बीच दिनों की संख्या जानने का तरीका बता सकते हैं?

आप केवल दो तिथियों की घोषणा कर सकते हैं, और फिर स्ट्रेटोटाइम का उपयोग कर सकते हैं दोनों तिथियों को घटाने और दिनों के बीच के अंतर को सेकंडों में खोजने का कार्य करता है।

नीचे दिए गए उदाहरण पर विचार करें।

date1 ='2018-09-15′;
दिनांक 2 ='2018-10-15';
दिन =(स्ट्रेटोटाइम($date1) - स्ट्रेटोटाइम($date2)) / (60 * 60 * 24);

Q7. क्या आप बता सकते हैं कि PHP का उपयोग करके परिणामसेट में पंक्तियों की संख्या कैसे ज्ञात करें?

आप mysql_num_rows फ़ंक्शन का उपयोग किसी परिणामसेट में पंक्तियों की संख्या ज्ञात करने के लिए कर सकते हैं।

नीचे दिए गए उदाहरण पर विचार करें।

आउटपुट =mysql_query(sql, database_name);number_of_rows =mysql_num_rows(output); गूंज "पाए गए फ़ोर की संख्या बराबर है:$number_of_rows";

Q8. MySQL में मौजूद डेटा को एन्क्रिप्ट और डिक्रिप्ट करने के लिए कौन से फ़ंक्शन का उपयोग किया जाता है?

डेटा को एन्क्रिप्ट करने के लिए उपयोग किया जाने वाला फ़ंक्शन है AES_ENCRYPT() और डेटा को डिक्रिप्ट करने के लिए उपयोग किया जाने वाला फ़ंक्शन है AES_DECRYPT()

Q9. यदि आप PHP का उपयोग करके उपयोगकर्ता नाम और पासवर्ड को एन्क्रिप्ट करना चाहते हैं, तो आप यह कैसे करेंगे?

आप क्रमशः निम्नलिखित कार्यों का उपयोग करके उपयोगकर्ता नाम और पासवर्ड को एन्क्रिप्ट कर सकते हैं:

सेट USERNAME=USERNAME("Username"); SET PASSWORD=PASSWORD("Password");

Q10. आप MySQL SELECT क्वेरी के प्रदर्शन को कैसे बढ़ा सकते हैं?

चुनें स्टेटमेंट का उपयोग डेटाबेस से डेटा का चयन करने के लिए किया जाता है और लौटाए गए डेटा को परिणाम तालिका में संग्रहीत किया जाता है, जिसे परिणाम-सेट कहा जाता है। . सेलेक्ट स्टेटमेंट को या तो व्यक्तिगत रूप से इस्तेमाल किया जा सकता है या अन्य स्टेटमेंट जैसे ऑर्डर बाय के साथ इस्तेमाल किया जा सकता है। , समूह द्वारा , और हो रहा है खंड।

एक MySQL SELECT क्वेरी के प्रदर्शन को बढ़ाने के लिए, आप रिकॉर्ड की आवश्यक संख्या एकत्र करने के बाद, MySQL को तालिका में आगे की खोज से सीमित करने के लिए LIMIT क्लॉज का उपयोग कर सकते हैं। इसके अलावा, हम दो या दो से अधिक तालिकाओं से डेटा पुनर्प्राप्त करने के लिए LEFT JOIN या RIGHT JOIN का भी उपयोग कर सकते हैं।

Q11. क्या आप $message और $$message में अंतर बता सकते हैं?

$message और $$message दोनों ही PHP वैरिएबल हैं। $message का उपयोग वेरिएबल डेटा को स्टोर करने के लिए किया जाता है और $$message का उपयोग वेरिएबल के वेरिएबल को स्टोर करने के लिए किया जाता है। तो मूल रूप से, डेटा $message में संग्रहीत किया जाता है और $$message का उपयोग डेटा को संग्रहीत करने के लिए किया जाता है जिसे गतिशील रूप से बदला जा सकता है।

Q12. लूप के दौरान सेलेक्ट स्टेटमेंट का उपयोग करके एक प्रोग्राम लिखें।

आप छात्र तालिका से छात्रों के विवरण का चयन करने के लिए एक प्रोग्राम लिख सकते हैं और लूप का उपयोग केवल छात्रों के नाम को प्रिंट करने के लिए कर सकते हैं।

example_query =mysql_query ("छात्रों से चुनें * जहां 'student_id' ='1';"); जबकि (आउटपुट =mysql_fetch_array (example_query)) {इको आउटपुट ['स्टूडेंट्स_नाम'];}

Q13. आप बैकअप कैसे ले सकते हैं और PHP का उपयोग करके एक MySQL डेटाबेस को पुनर्स्थापित कर सकते हैं?

MySQL डेटाबेस बैकअप प्रदान करने और पुनर्स्थापित करने के लिए एक उपयोगिता mysqldump के साथ आता है। बैकअप और पुनर्स्थापना के लिए आप जिस कमांड का उपयोग कर सकते हैं वह क्रमशः इस प्रकार है।

//डेटाबेस का बैकअप लेने के लिएmysqldump डेटाबेस> बैकअप -file.sql;//डेटाबेस को पुनर्स्थापित करने के लिएmysqldump डेटाबेस <बैकअप -file.sql;

आप अपने डेटाबेस का बैकअप लेने के लिए phpMyAdmin यूजर इंटरफेस का भी उपयोग कर सकते हैं। यदि आप बैकअप लेना चाहते हैं, तो आपको बस “निर्यात . पर क्लिक करना होगा phpMyAdmin मुख्य पृष्ठ पर लिंक करें।

Q14. क्या आप ereg_replace() और eregi_replace() में अंतर बता सकते हैं?

ereg_replace और eregi_repalce() रेगुलर एक्सप्रेशन हैं जिनका उपयोग मेल खाने वाले वर्णों को बदलने के लिए किया जाता है। इन कार्यों के बीच एकमात्र अंतर eregi_replace() फ़ंक्शन वर्ण भेद को अनदेखा करता है जब यह वर्णानुक्रमिक वर्णों से मेल खाता है।

Q15. PHP का उपयोग करके डेटा को एक सर्वर से दूसरे सर्वर में कैसे कॉपी करें?

आप निम्नलिखित तीन विकल्पों का उपयोग कर सकते हैं:

विकल्प 1: सर्वर से सर्वर पर फ़ाइलों को स्थानांतरित करने के लिए आप PHP कॉपी का उपयोग कर सकते हैं। नीचे दिए गए सिंटैक्स का संदर्भ लें:

/* फ़ाइल को स्रोत url से सर्वर पर कॉपी करें */$copy =copy($remote_file_url, $local_file);

विकल्प 2: सर्वर से सर्वर पर फ़ाइलों को स्थानांतरित करने के लिए आप PHP FTP का उपयोग कर सकते हैं। नीचे दिए गए सिंटैक्स का संदर्भ लें।

/* $remote_file डाउनलोड करें और $local_file */ftp_get($connect_it,$local_file,$remote_file,FTP_BINARY) में सेव करें

विकल्प 3: आप PHP में ZIP और UNZIP Files विकल्प का उपयोग कर सकते हैं।

अब, प्रश्नों के अगले सेट पर चलते हैं, जो कि जटिल MySQL साक्षात्कार प्रश्न है।

जटिल MySQL साक्षात्कार प्रश्न

Q1. क्या आप SQL में अनुकूलन के लिए अपनाई जाने वाली कुछ सर्वोत्तम प्रथाओं के बारे में बता सकते हैं?

एसक्यूएल ऑप्टिमाइज़ेशन के लिए अपनाई जाने वाली सर्वोत्तम प्रथाएं एक व्यक्ति से दूसरे व्यक्ति पर निर्भर करती हैं, लेकिन निम्नलिखित सूची में सबसे लोकप्रिय अभ्यास शामिल हैं जिनका पालन करने की सलाह दी जाती है। नीचे देखें।

  • अपने संग्रहीत कार्यविधि नामों को "sp_" के साथ उपसर्ग करने से बचने का प्रयास करें।
  • INSERT कथनों में कॉलम सूची का उपयोग करने की अनुशंसा की जाती है।
  • प्राथमिक रूप से पुराने स्टाइल क्लॉज के बजाय ANSI-Standard JOIN क्लॉज का उपयोग करें।
  • SELECT कथन का उपयोग करते समय, *क्वेरी का उपयोग करने से बचें।
  • T-SQL कोड में दोहरे उद्धरण चिह्नों का प्रयोग न करें।
  • ORDER BY क्लॉज में कॉलम नंबरों का उपयोग करने से बचने की कोशिश करें।
  • यदि आपके SQL कथन में एक से अधिक स्रोत शामिल हैं, तो तालिका उपनामों का उपयोग करने का प्रयास करें।

Q2. क्या आप बता सकते हैं कि अनुक्रमणिका बनाने के विभिन्न तरीके क्या हैं?

इंडेक्स बनाने के लिए विभिन्न विकल्प इस प्रकार हैं:

  • आप T-SQL स्टेटमेंट का उपयोग करके एक इंडेक्स बना सकते हैं।
  • आप SQL सर्वर प्रबंधन स्टूडियो का उपयोग कर सकते हैं। इसमें, आप उस तालिका को ब्राउज़ कर सकते हैं जिसकी आपको एक अनुक्रमणिका बनाने की आवश्यकता है और फिर अनुक्रमणिका नोड पर राइट क्लिक करें। यहां पर आपको न्यू इंडेक्स ऑप्शन को चुनना है।
  • आप तालिका बनाएं या तालिका में बदलाव करें कथन के भीतर प्राथमिक कुंजी और अद्वितीय बाधा को परिभाषित करके परोक्ष रूप से अनुक्रमणिका की पहचान कर सकते हैं।

Q3. हीप टेबल और अस्थायी टेबल में क्या अंतर है?

हीप टेबल अस्थायी तालिका
हीप टेबल मेमोरी में मौजूद है एक अस्थायी तालिका केवल सत्र के दौरान ही मान्य होती है।
हीप टेबल्स को विभिन्न क्लाइंट्स के बीच साझा किया जाता है। अस्थायी तालिकाएं क्लाइंट के बीच साझा नहीं की जाती हैं।
टेबल बनाने के लिए अस्थायी तालिकाओं को एक विशेष विशेषाधिकार की आवश्यकता होती है। हीप टेबल्स स्टोरेज इंजन हैं जिन्हें विशेष विशेषाधिकारों की आवश्यकता नहीं होती है।

Q4. क्यों क्या आपको लगता है कि GUID और CHARACTER कॉलम को क्लस्टर्ड इंडेक्स सरणियों के रूप में उपयोग न करने की सलाह दी जाती है?

GUID कॉलम क्लस्टर्ड इंडेक्स सॉर्टिंग प्रदर्शन को प्रभावित करते हैं क्योंकि उत्पन्न यादृच्छिक GUID मान की प्रकृति पूर्णांक डेटा प्रकारों से बड़ी होती है।

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

Q5. आप –सुरक्षित-फ़ाइल- . को कैसे संभाल सकते हैं निजी MySQL में?

–सिक्योर-फाइल- निजी विकल्प MySQL सर्वर को LOAD DATA INFILE का उपयोग करके निर्देशिकाओं को लोड करने से रोकता है।

यदि आप उस निर्देशिका को देखना चाहते हैं जिसे कॉन्फ़िगर किया गया है तो आप SHOW VARIABLES LIKE "secure_file_priv"; का उपयोग कर सकते हैं।

आपके पास निपटने के लिए मुख्य रूप से दो विकल्प हैं:

  • या तो अपनी फ़ाइल को सुरक्षित-फ़ाइल-निजी द्वारा निर्दिष्ट निर्देशिका में ले जाएँ।
  • या आप सुरक्षित-फ़ाइल-निजी अक्षम कर सकते हैं। आप इसे बाद में अक्षम नहीं कर सकते, और आपको इसे प्रारंभ से ही हटाना होगा।

Q6. बी-ट्री और हैश इंडेक्स में क्या अंतर है?

B-Tree हैश इंडेक्स
एक बी-ट्री इंडेक्स का उपयोग कॉलम तुलना के लिए किया जा सकता है जैसे =,>, <,>=, <=या ऑपरेटरों के बीच। एक हैश-इंडेक्स का उपयोग केवल समानता की तुलना के लिए किया जा सकता है जो =,>=, <=.
B-Tree का उपयोग क्रम में अगली प्रविष्टि को खोजने के लिए किया जा सकता है। हैश इंडेक्स का उपयोग क्रम में अगली प्रविष्टि को खोजने के लिए नहीं किया जा सकता है।
कुंजी के किसी भी सबसे बाएं उपसर्ग का उपयोग पंक्तियों को खोजने के लिए किया जा सकता है। एक पंक्ति खोजने के लिए केवल संपूर्ण कुंजियों का उपयोग किया जाता है।

Q7. MyISAM तालिका कहाँ संग्रहीत है?

प्रत्येक MyISAM तालिका डिस्क पर निम्नलिखित तीन फाइलों में संग्रहीत है:

  • .frm फाइल - टेबल की परिभाषा को स्टोर करता है।
  • .MYD फ़ाइल - डेटा फ़ाइल में MYData एक्सटेंशन होता है।
  • .MYI अनुक्रमणिका फ़ाइल - अनुक्रमणिका फ़ाइल में एक MYIndex एक्सटेंशन होता है।

Q8. MongoDB और MySQL के बीच अंतर बताएं।

MongoDB MYSQL
एक ओपन सोर्स डेटाबेस जो JSON जैसे दस्तावेजों को स्टोर करता है जो संरचना में भिन्न होते हैं। एक ओपन सोर्स रिलेशनल डेटाबेस मैनेजमेंट सिस्टम जो रिलेशनल डेटा को स्टोर करता है।
प्रत्येक व्यक्तिगत रिकॉर्ड को दस्तावेज़ के रूप में संग्रहीत किया जाता है। प्रत्येक व्यक्तिगत रिकॉर्ड एक तालिका में पंक्तियों के रूप में संग्रहीत किया जाता है।
किसी विशेष वर्ग या समूह के दस्तावेज़ संग्रह में संग्रहीत किए जाते हैं। एक समान प्रकार के रिकॉर्ड एक तालिका में संग्रहीत किए जाते हैं।

Q9. पहचानें कि नीचे दी गई क्वेरी में क्या गलत है।

कर्मचारी आईडी, औसत (वेतन) चुनें

कर्मचारी विवरण से

जहां औसत(वेतन)> 75

कर्मचारी आईडी द्वारा समूह

जवाब बहुत आसान है। आप समूहों को प्रतिबंधित करने के लिए WHERE क्लॉज का उपयोग नहीं कर सकते। इसके बजाय, आपको HAVING क्लॉज का उपयोग करना होगा।

आपकी क्वेरी इस प्रकार होनी चाहिए:

कर्मचारी विवरण से कर्मचारी आईडी, औसत (वेतन) चुनें 

Q10. सामान्यीकरण क्या है और सामान्यीकरण के विभिन्न प्रकारों की सूची बनाएं?

सामान्यीकरण दोहराव और अतिरेक से बचने के लिए डेटा को व्यवस्थित करने की प्रक्रिया है। सामान्यीकरण के कई क्रमिक स्तर हैं। इन्हें सामान्य रूप . कहा जाता है . प्रत्येक लगातार सामान्य रूप पिछले एक पर निर्भर करता है। पहले तीन सामान्य रूप आमतौर पर पर्याप्त होते हैं।

  • पहला सामान्य फॉर्म (1NF) - पंक्तियों के भीतर कोई दोहराए जाने वाले समूह नहीं हैं
  • दूसरा सामान्य रूप (2NF) - प्रत्येक गैर-कुंजी (सहायक) स्तंभ मान संपूर्ण प्राथमिक कुंजी पर निर्भर है।
  • तीसरा सामान्य फॉर्म (3NF) - पूरी तरह से प्राथमिक कुंजी पर निर्भर और कोई अन्य गैर-कुंजी (सहायक) कॉलम मान नहीं।

अब, प्रश्नों के अगले सेट पर चलते हैं जो ट्रिकी MySQL साक्षात्कार प्रश्न है।

मुश्किल MySQL साक्षात्कार प्रश्न

Q1. विचार करें कि आपके पास तीन स्तंभों की एक समग्र अनुक्रमणिका है। अब, आपको एक सेलेक्ट क्वेरी के WHERE क्लॉज में दो कॉलम का मान प्रदान करना होगा। क्या आपको लगता है कि इंडेक्स का इस्तेमाल ऑपरेशन के लिए किया जा सकता है?

सूचकांक का उपयोग पूरी तरह से इस बात पर निर्भर करता है कि आप प्राथमिक सूचकांक पर विचार करते हैं या नहीं। मान लें कि आपके पास छात्र तालिका है। अब, मान लें कि यदि कोई अनुक्रमणिका StudentID, StudentFirstName और StudentLastName पर मौजूद है तो आप एक प्रश्न पर इस प्रकार विचार कर सकते हैं:

चुनें * छात्र विवरण से जहां छात्र आईडी =3 और छात्र फर्स्टनाम ='जतिन'

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

उपरोक्त परिदृश्य में, मैंने उस StudentID और StudentFirstName को प्राथमिक कॉलम माना है, इसलिए इस मामले में एक इंडेक्स का उपयोग किया जाएगा।

Q2. मान लीजिए आपको नीचे दी गई तालिका से छात्रों का पहला नाम, मध्य नाम और अंतिम नाम एकत्र करना है। लेकिन, आप देखते हैं कि पहले नाम, मध्य नाम और अंतिम नाम कॉलम में कुछ लापता मान हैं। आप पहले गैर-शून्य मान कैसे लौटाएंगे?

StudentID प्रथम नाम मध्य नाम अंतिम नाम
1 रोहित कुमार NULL
2 साक्षी चौधरी NULL
3 NULL Yash Singhania
4 Akash NULL Kumar
5 Avinash NULL Daksh

You can use the COALESCE function to return the first non-null value from the table. Consider the below query.

SELECT StudentID, COALESCE(FirstName, MiddleName, LastName) as Name FROM StudentDetails;

Q3. Consider a scenario where you have two to three tables with thousand tuples in each of them. Now, if you have to perform a JOIN operation between them will you choose to perform filtering of rows or transforming of rows first.

The answer to this question is quite logical. If you have three tables with thousands of tuples in each of them, then you are first supposed to filter the rows in those tables and then transform the table. This would be beneficiary as if you transform the table, then the number of columns may increase reducing the performance. Due to such performance issues, a lot of memory will be used and the output will appear on your screen after quite a long wait of time.

Q4. How can you validate emails using a single query?

To validate emails you can use the regular expressions function (REGEXP_LIKE). Consider the below query.

SELECTEmailFROMEmployeewhere NOT REGEXP_LIKE(Email, ‘[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}’, ‘i’);

Q5. Consider a scenario where you have to send an email to a client from the SQL database. How do you think you can achieve this task?

To send an email from the database, you can use the stored procedures. Follow the below procedure to send the emails:

  • Configure your SQL Server Mail account.
  • Enable the database mail.
  • Write a script to send an email. Refer below for the script.
USE [YourDB]EXEC msdb.dbo.sp_send_dbmail@recipients ='[email protected]; [email protected];[email protected]’@body =' Sample Body Text',@subject ='Example Email';GO

Q6. Consider you have the following three tables which have to be linked together.

Department(Ssn, EmployeeName, EmployeeAge..)

EmployeeContactDetails(Ssn, DepartmentID,desc,Ord)

EmployeeAddress(Ssn,DepartmentID, desc, Ord)

The problem statement is to select all the departments from the Department table, with the “desc” field from the EmployeeContactDetails and EmployeeAddress where Ord=1. Now, you have to solve this problem statement with a single query.

To solve this problem statement you can use the JOINS concept. You simply have to perform a JOIN on the Department.Ssn and the DepartmentID in the other tables.

Now, if you are sure that the Ssn exists in all the three considered tables, then you can use the INNER JOIN. Also, if you are not sure that you have matching rows, then you can use the LEFT JOIN. Consider the below query.

SELECT d.Ssn,d.EmployeeName,c.desc ContactDetailsDesc,a.desc AddressDetailsDescfrom Department dinner join EmployeeContactDetails con d.id =c.DepartmentIDinner join address aon d.id =a.DepartmentIDwhere d.EmployeeName ='abc'and c.ord =1and a.ord =1

Q7. If you are assigned a task, to find the information of PROCEDURES. What are the basic commands that you will use to do so?

To check the procedures, you can consider the following query.

SELECT * FROM SampleSourceWHERE Type=’PROCEDURE’AND NAME IN (‘SP_CONNECTED_AGG’,’SP_UNCONNECTED_AGG’);

To find the procedures columns information, you can consider the following query.

SELECT OWNER, OBJECT_NAME, ARGUMENT_NAME, DATA_TYPE, IN_OUT from ALL_ARGUMENTS order by OWNER, OBJECT_NAME, SEQUENCE;

Q8. Can you tell which of the following WHERE clauses is faster?

WHERE col * 4 <16

WHERE col <16 / 4

If we compare both the statements, then the second WHERE clause would be comparatively faster than the first one. That is because, for the first statement, MYSQL would retrieve the value of ‘col’ for each and every row, multiplied by four. After that, it would compare the result to 16. Also, in the first case no Index can be used, and hence it makes it further slow.

Q9. What is the main difference between ‘BETWEEN’ and ‘IN’ condition operators?

BETWEEN operator is used to display rows based on a range of values in a row whereas the IN condition operator is used to check for values contained in a specific set of values.

Example of BETWEEN:

SELECT * FROM Students where ROLL_NO BETWEEN 10 AND 50;

Example of IN:

SELECT * FROM students where ROLL_NO IN (8,15,25);

Q10. What are the different types of Collation Sensitivity?

Following are the different types of collation sensitivity:

  • Case Sensitivity
  • Kana Sensitivity
  • Width Sensitivity
  • Accent Sensitivity

So this brings us to the end of the MySQL Interview Questions blog. I hope this set of MySQL Interview Questions will help you ace your job interview. All the best for your interview!

Apart from this MySQL Interview Questions Blog, if you want to get trained from professionals on this technology, you can opt for a structured training from edureka! Click below to know more.

Check out this MySQL DBA Certification Training by Edureka, a trusted online learning company with a network of more than 250,000 satisfied learners spread across the globe. This course trains you on the core concepts &advanced tools and techniques to manage data and administer the MySQL Database. It includes hands-on learning on concepts like MySQL Workbench, MySQL Server, Data Modeling, MySQL Connector, Database Design, MySQL Command line, MySQL Functions etc. End of the training you will be able to create and administer your own MySQL Database and manage data.

Got a question for us? Please mention it in the comments section of this “My SQL Interview Questions” and we will get back to you as soon as possible.


  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 में डेटाटाइम फ़ील्ड में NULL मान कैसे स्टोर करें?

  2. MySQL में करंट कनेक्शन के लिए लोकेल कैसे सेट करें

  3. क्वेरी में MySQL में आदेश बनाए रखना

  4. MySQL के साथ STRAIGHT_JOIN का उपयोग कब करें

  5. MySQL चुनें कि डेटाटाइम दिन से मेल खाता है (और जरूरी नहीं कि समय)