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

MySQL ट्यूटोरियल - MySQL सीखने के लिए एक शुरुआती गाइड

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

इस ब्लॉग में शामिल विषयों को मुख्य रूप से 4 श्रेणियों में बांटा गया है:डीडीएल, डीएमएल, डीसीएल और टीसीएल।

  • DDL (डेटा डेफिनिशन लैंग्वेज) में वे कमांड होते हैं जिनका उपयोग डेटाबेस को परिभाषित करने के लिए किया जाता है। उदाहरण:बनाएँ, छोड़ें, बदलें, काट-छाँट करें, टिप्पणी करें, नाम बदलें।
  • DML (डेटा मैनिपुलेशन लैंग्वेज) कमांड डेटाबेस में मौजूद डेटा के हेरफेर से निपटते हैं। उदाहरण:चुनें, डालें, अपडेट करें, हटाएं।
  • DCL (डेटा कंट्रोल लैंग्वेज) कमांड डेटाबेस सिस्टम के अधिकारों, अनुमतियों और अन्य नियंत्रणों से निपटते हैं। उदाहरण:अनुदान दें, आमंत्रित करें
  • TCL (लेन-देन नियंत्रण भाषा) में वे कमांड होते हैं जो मुख्य रूप से डेटाबेस के लेन-देन से संबंधित होते हैं।

कमांड के अलावा, ब्लॉग में शामिल अन्य विषय निम्नलिखित हैं:

  • डेटाबेस में विभिन्न प्रकार की चाबियां
  • डेटाबेस में उपयोग की जाने वाली बाधाएं
  • नेस्टेड क्वेरी
  • जुड़ता है
  • संचालन सेट करें

हम इनमें से प्रत्येक श्रेणी को एक-एक करके कवर करने जा रहे हैं।

MySQL Tutorial पर इस ब्लॉग में, मैं आपको कमांड लिखने का तरीका दिखाने के लिए नीचे दिए गए डेटाबेस को एक उदाहरण के रूप में देखने जा रहा हूँ।

StudentID StudentName अभिभावक का नाम पता शहर डाक कोड देश शुल्क
01 Haznitiz Emiz डेली रोड Afir 35110 अल्जीरिया 42145
02 शुभम नारायण MG Road बैंगलोर 560001 भारत 45672
03 सलोमाओ वैलेंटिम मेयो रोड रियो क्लारो 27460 ब्राजील 65432
04 विशाल रमेश क्वींस क्वे टोरंटो 416 कनाडा 23455
05 Park Jimin किम ताई ह्यूंग गंगनम स्ट्रीट सियोल 135081 दक्षिण कोरिया 22353

तालिका 1: नमूना डेटाबेस - MySQL ट्यूटोरियल

तो, चलिए अब शुरू करते हैं!

नए अपडेट पाने के लिए हमारे youtube चैनल को सब्सक्राइब करें..!

MySQL ट्यूटोरियल:डेटा डेफिनिशन (DDL) कमांड्स

इस खंड में वे कमांड हैं, जिनके द्वारा आप अपने डेटाबेस को परिभाषित कर सकते हैं। आदेश हैं:

  • बनाएं
  • ALTER
  • DROP
  • TRUNCATE
  • नाम बदलें

अब, इससे पहले कि मैं कमांड शुरू करूं, मैं आपको केवल MySQL में टिप्पणियों का उल्लेख करने का तरीका बताता हूं।

टिप्पणियां

किसी भी अन्य प्रोग्रामिंग भाषा की तरह, मुख्य रूप से दो प्रकार की टिप्पणियाँ होती हैं।

  • एकल-पंक्ति टिप्पणियाँ - सिंगल लाइन कमेंट '-' से शुरू होते हैं। इसलिए, पंक्ति के अंत तक उल्लिखित किसी भी पाठ को संकलक द्वारा अनदेखा कर दिया जाएगा।
उदाहरण:
--सभी का चयन करें:छात्रों में से चुनें;
  • बहु-पंक्ति टिप्पणियाँ - बहु-पंक्ति टिप्पणियाँ /* से शुरू होती हैं और */ पर समाप्त होती हैं। इसलिए, /* और */ के बीच उल्लिखित किसी भी पाठ को संकलक द्वारा अनदेखा कर दिया जाएगा।
उदाहरण:
/*छात्र तालिका में सभी रिकॉर्ड के सभी कॉलम चुनें:*/छात्रों से चुनें;

अब, जब आप जानते हैं कि MySQL में टिप्पणियों का उल्लेख कैसे किया जाता है, तो आइए DDL कमांड के साथ जारी रखें।

बनाएं

क्रिएट स्टेटमेंट का इस्तेमाल स्कीमा, टेबल या इंडेक्स बनाने के लिए किया जाता है।

'योजना बनाएं' कथन

इस कथन का उपयोग डेटाबेस बनाने के लिए किया जाता है।

वाक्यविन्यास:
SCHEMA Database_Name बनाएं;
उदाहरण:
SCHEMA StudentsInfo बनाएं;

'तालिका बनाएं' कथन

इस कथन का उपयोग डेटाबेस में एक नई तालिका बनाने के लिए किया जाता है।

वाक्यविन्यास:
तालिका बनाएं table_name  ( कॉलम1 डेटाटाइप , column2 डेटाटाइप , column3 डेटाटाइप , ....);
उदाहरण:
टेबल स्टूडेंट्स बनाएं (स्टूडेंटआईडी इंट, स्टूडेंटनाम वर्कर (255), पैरेंटनाम वर्कर (255), एड्रेस वर्कर (255), पोस्टलकोड इंट, सिटी वर्कर (255));

'इस रूप में तालिका बनाएं' कथन

इस कथन का उपयोग किसी मौजूदा तालिका से एक नई तालिका बनाने के लिए किया जाता है। तो, इस तालिका को मौजूदा तालिका के समान कॉलम परिभाषाएँ मिलती हैं।

वाक्यविन्यास:
तालिका बनाएं new_table_name एएस चुनें कॉलम1, कॉलम2,... मौजूदा_टेबल_नाम . से जहां ....;
उदाहरण:
टेबल बनाएं उदाहरणटेबल ASSELECT छात्र नाम, माता-पिता का नामछात्रों से;

बदलें

ALTER कमांड का उपयोग बाधाओं या स्तंभों को जोड़ने, संशोधित करने या हटाने के लिए किया जाता है।

'वैकल्पिक तालिका' कथन

इस कथन का उपयोग किसी तालिका से बाधाओं और स्तंभों को जोड़ने, संशोधित करने या हटाने के लिए किया जाता है।

वाक्यविन्यास:
तालिका बदलें table_name column_name डेटाटाइप जोड़ें;
उदाहरण:
वैकल्पिक तालिका छात्रजन्मतिथि जोड़ें;

ड्रॉप

DROP कमांड का उपयोग डेटाबेस, टेबल या कॉलम को हटाने के लिए किया जाता है।

'DROP SCHEMA' कथन

इस कथन का उपयोग संपूर्ण स्कीमा को छोड़ने के लिए किया जाता है।

वाक्यविन्यास:
DROP SCHEMA schema_name;
उदाहरण:
DROP SCHEMA StudentsInfo;

'ड्रॉप टेबल' स्टेटमेंट

इस कथन का उपयोग संपूर्ण तालिका को उसके सभी मानों के साथ छोड़ने के लिए किया जाता है।

वाक्यविन्यास:
DROP TABLE table_name;
उदाहरण:
DROP TABLE table_name;

छंटनी

इस कथन का उपयोग तालिका के अंदर मौजूद डेटा को हटाने के लिए किया जाता है, लेकिन तालिका हटाई नहीं जाती है।

वाक्यविन्यास:
TRUNCATE TABLE table_name;
उदाहरण:
TRUNCATE TABLE Students;

नाम बदलें

इस कथन का उपयोग एक या अधिक तालिकाओं का नाम बदलने के लिए किया जाता है।

वाक्यविन्यास:
नाम बदलें तालिका  tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2 ] ...
उदाहरण:
छात्रों का नाम बदलकर Infostudents;

अब, इससे पहले कि मैं आगे के अनुभागों में जाऊं, मैं आपको विभिन्न प्रकार की कुंजियों और बाधाओं के बारे में बता दूं जिनका आपको डेटाबेस में हेरफेर करते समय उल्लेख करने की आवश्यकता है।

MySQL ट्यूटोरियल: डेटाबेस में विभिन्न प्रकार की चाबियां

मुख्य रूप से 5 प्रकार की कुंजियाँ होती हैं, जिनका उल्लेख डेटाबेस में किया जा सकता है।

  • उम्मीदवार कुंजी - विशेषताओं का न्यूनतम सेट जो विशिष्ट रूप से एक टपल की पहचान कर सकता है उसे उम्मीदवार कुंजी के रूप में जाना जाता है। एक संबंध में एक से अधिक उम्मीदवार कुंजी हो सकती है, जहां कुंजी या तो एक साधारण या समग्र कुंजी होती है।
  • सुपर की - विशेषताओं का समूह जो विशिष्ट रूप से एक टपल की पहचान कर सकता है, सुपर की के रूप में जाना जाता है। तो, एक उम्मीदवार कुंजी एक सुपरकी है, लेकिन इसके विपरीत सत्य नहीं है।
  • प्राथमिक कुंजी – विशेषताओं का एक सेट जिसका उपयोग प्रत्येक टपल को विशिष्ट रूप से पहचानने के लिए किया जा सकता है, वह भी एक प्राथमिक कुंजी है। इसलिए, यदि किसी रिश्ते में 3-4 उम्मीदवार कुंजी मौजूद हैं, तो उनमें से किसी एक को प्राथमिक कुंजी के रूप में चुना जा सकता है।
  • वैकल्पिक कुंजी - प्राथमिक कुंजी के अलावा अन्य उम्मीदवार कुंजी को वैकल्पिक कुंजी कहा जाता है
  • विदेशी कुंजी - एक विशेषता जो केवल किसी अन्य विशेषता के मूल्यों के रूप में मौजूद मूल्यों को ले सकती है, वह उस विशेषता की विदेशी कुंजी है जिसे वह संदर्भित करती है।

MySQL ट्यूटोरियल: डेटाबेस में उपयोग की जाने वाली बाधाएं

नीचे दी गई छवि को देखें जो डेटाबेस में उपयोग की जाने वाली बाधाएं हैं।

चित्र 1: डेटाबेस में प्रयुक्त बाधाएं - MySQL ट्यूटोरियल

अब, जब आप विभिन्न प्रकार की कुंजियों और बाधाओं को जानते हैं, तो चलिए अगले भाग पर चलते हैं, यानी डेटा मैनिपुलेशन कमांड।

एक प्रमाणित डेटाबेस प्रशासक बनना चाहते हैं?

MySQL ट्यूटोरियल: डेटा मैनिपुलेशन (डीएमएल) कमांड

इस अनुभाग में वे कमांड होते हैं, जिनके द्वारा आप अपने डेटाबेस में हेरफेर कर सकते हैं। आदेश हैं:

  • उपयोग करें
  • सम्मिलित करें
  • अपडेट करें
  • हटाएं
  • चुनें

इन आदेशों के अलावा, अन्य जोड़-तोड़ करने वाले ऑपरेटर/कार्य भी हैं जैसे:

  • लॉजिकल ऑपरेटर्स
  • ARITHMETIC,BITWISE,COMPARISON &COMPOUND OPERATORS
  • एग्रीगेट फंक्शन्स
  • विशेष ऑपरेटर

उपयोग करें

USE कथन का उपयोग यह उल्लेख करने के लिए किया जाता है कि सभी कार्यों को करने के लिए किस डेटाबेस का उपयोग किया जाना है।

वाक्यविन्यास:
डेटाबेस_नाम का उपयोग करें;
उदाहरण:
स्टूडेंटइन्फो का उपयोग करें;

सम्मिलित करें

इस कथन का प्रयोग किसी तालिका में नए रिकॉर्ड डालने के लिए किया जाता है।

वाक्यविन्यास:

INSERT INTO स्टेटमेंट को निम्नलिखित दो तरीकों से लिखा जा सकता है:

table_name में सम्मिलित करें (कॉलम1 , कॉलम2 , कॉलम3 , ...)VALUES (value1 , value2 , value3 , ...);---आपको table_name . में कॉलम नामों का उल्लेख करने की आवश्यकता नहीं है INSERT INTO VALUES (value1 , value2 , value3 , ...);
उदाहरण:
इन्सर्ट इनटू इंफोस्टूडेंट्स (स्टूडेंटआईडी, स्टूडेंटनाम, पेरेंटनाम, पता, शहर, पोस्टल कोड, देश) VALUES ('06', 'संजना', 'जगन्नाथ', 'बंजारा हिल्स', 'हैदराबाद', '500046', 'इंडिया') '); INSERT INTO InfostudentsVALUES ('07', 'शिवंतिनी', 'प्रवीन', 'कैमल स्ट्रीट', 'कोलकाता', '700096', 'इंडिया');

अपडेट करें

इस कथन का उपयोग किसी तालिका में मौजूदा रिकॉर्ड को संशोधित करने के लिए किया जाता है।

वाक्यविन्यास:
अपडेट करें table_name सेट कॉलम1  = मान1 , कॉलम 2  = value2 , ...जहां हालत;
उदाहरण:
अद्यतन InfostudentsSET छात्रनाम ='अल्फ्रेड', शहर='फ्रैंकफर्ट'जहां छात्र आईडी =1;

हटाएं

इस कथन का उपयोग किसी तालिका में मौजूदा रिकॉर्ड को हटाने के लिए किया जाता है।

वाक्यविन्यास:
table_name से हटाएं जहां हालत;
उदाहरण:
जानकारी से हटाएंWHERE StudentName='Salomao';

चुनें

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

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

वाक्यविन्यास:
चुनें कॉलम1 , कॉलम2, ... table_name . से;--(*) तालिका से सभी का चयन करने के लिए प्रयोग किया जाता है * table_name से चुनें;
उदाहरण:
छात्र का नाम चुनें, छात्रों से शहर;जानकारी से चुनें;

व्यक्तिगत SELECT कीवर्ड के अलावा, हम निम्नलिखित कथन भी देखेंगे, जो SELECT कीवर्ड के साथ उपयोग किए जाते हैं:

  • DISTINCT
  • आदेश दें
  • GROUP BY
  • हैविंग क्लॉज

‘DISTINCT चुनें’ कथन

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

वाक्यविन्यास:
DISTINCT चुनें कॉलम1 , कॉलम2, ... table_name . से;
उदाहरण:
छात्रों से देश चुनें;

द 'ऑर्डर बाय' स्टेटमेंट

इस कथन का उपयोग वांछित परिणामों को आरोही या अवरोही क्रम में क्रमबद्ध करने के लिए किया जाता है। डिफ़ॉल्ट रूप से, परिणाम आरोही क्रम में क्रमबद्ध होंगे। यदि आप परिणाम-सेट में रिकॉर्ड अवरोही क्रम में चाहते हैं, तो DESC का उपयोग करें कीवर्ड।

वाक्यविन्यास:
चुनें कॉलम1 , कॉलम2, ... table_name . से कॉलम1, कॉलम2, ...  . द्वारा ऑर्डर करें एएससी|डीईएससी;
उदाहरण:
चुनें *देश द्वारा Infostudentsआर्डर से; देश के डीईएससी द्वारा इंफोस्टूडेंट्स ऑर्डर से चुनें * देश के अनुसार इंफोस्टूडेंट्स ऑर्डर से चुनें, स्टूडेंट नेम; देश एएससी द्वारा इंफोस्टूडेंट्स ऑर्डर से चुनें, स्टूडेंट नेम डीईएससी;

'ग्रुप बाय' स्टेटमेंट

इस कथन का उपयोग समग्र कार्यों के साथ परिणाम-सेट को एक या अधिक स्तंभों द्वारा समूहित करने के लिए किया जाता है।

वाक्यविन्यास:
चुनें कॉलम_नाम table_name . से जहां हालत column_name(s) . के आधार पर ग्रुप करें column_name(s) द्वारा ऑर्डर करें; 
उदाहरण:
सेलेक्ट COUNT(StudentID), CountryFROM InfostudentsGROUP by Countryorder by COUNT(StudentID) DESC;

द 'हैविंग' क्लॉज स्टेटमेंट

चूंकि कहां कीवर्ड का उपयोग समग्र कार्यों के साथ नहीं किया जा सकता है, HAVING क्लॉज पेश किया गया था।

वाक्यविन्यास:
चुनें कॉलम_नाम table_name . से जहां हालत column_name(s) . के आधार पर ग्रुप करें शर्त होना column_name(s) द्वारा ऑर्डर करें; 
उदाहरण:
चुनें COUNT(StudentID), CityFROM InfostudentsGROUP BY CityHAVING COUNT(फीस)> 23000;

लॉजिकल ऑपरेटर्स

ऑपरेटरों के इस सेट में AND/OR/NOT जैसे लॉजिकल ऑपरेटर्स होते हैं।

और ऑपरेटर

AND ऑपरेटर का उपयोग उन रिकॉर्ड्स को फ़िल्टर करने के लिए किया जाता है जो एक से अधिक शर्तों पर निर्भर करते हैं। यह ऑपरेटर रिकॉर्ड प्रदर्शित करता है, जो AND द्वारा अलग की गई सभी शर्तों को पूरा करता है, और आउटपुट TRUE देता है।

वाक्यविन्यास:
चुनें कॉलम1 , कॉलम2, ... table_name . से जहां कंडीशन1 और कंडीशन2 और कंडीशन3 ...;
उदाहरण:
चुनें * InfostudentsWHERE देश='ब्राज़ील' और शहर='रियो क्लारो';

या ऑपरेटर

OR ऑपरेटर उन रिकॉर्ड्स को प्रदर्शित करता है जो OR से अलग की गई किसी भी शर्त को पूरा करते हैं और आउटपुट को TRUE देते हैं।

वाक्यविन्यास:
चुनें कॉलम1 , कॉलम2, ... table_name . से जहां कंडीशन1 या कंडीशन2 या कंडीशन3 ...;
उदाहरण:
चुनें * InfostudentsWHERE City='टोरंटो' या सिटी='सियोल';

ऑपरेटर नहीं

यह ऑपरेटर एक रिकॉर्ड प्रदर्शित करता है जब शर्त (शर्तें) सही नहीं होती हैं।

वाक्यविन्यास:
चुनें कॉलम1 , कॉलम2, ... table_name . से जहां नहीं शर्त;
उदाहरण:
चुनें * InfostudentsWHERE NOT Country='India';--आप उपरोक्त सभी तीन ऑपरेटरों को भी जोड़ सकते हैं और इस तरह एक प्रश्न लिख सकते हैं:चुनें * इन्फोस्टूडेंट्स से देश ='भारत' और (शहर ='बैंगलोर' या शहर ='कनाडा');
डेटाबेस एडमिनिस्ट्रेटर के लिए इंटरव्यू क्रैक करने के इच्छुक हैं?

अंकगणित, बिटवाइज़, तुलना और यौगिक ऑपरेटर

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

चित्र 2: अंकगणित, बिटवाइज़, तुलना और कंपाउंड ऑपरेटर्स - MySQL ट्यूटोरियल

कुल कार्य

लेख के इस भाग में निम्नलिखित कार्य शामिल हैं:

  • MIN()
  • MAX()
  • COUNT()
  • AVG()
  • SUM()

MIN() फंक्शन

यह फ़ंक्शन किसी तालिका में चयनित कॉलम का सबसे छोटा मान देता है।

वाक्यविन्यास:
टेबल_नाम से मिन(कॉलम_नाम)चुनेंWHEREशर्त;
उदाहरण:
 MIN(StudentID) को सबसे छोटेIDFROM Infostudents के रूप में चुनें;

MAX() फ़ंक्शन

यह फ़ंक्शन किसी तालिका में चयनित कॉलम का सबसे बड़ा मान देता है।

वाक्यविन्यास:
अधिकतम चुनें(column_name )table_name . से जहां हालत;
उदाहरण:
जानकारी से अधिकतम शुल्क के रूप में MAX(फीस) चुनें;

COUNT() फ़ंक्शन

यह फ़ंक्शन निर्दिष्ट मानदंडों से मेल खाने वाली पंक्तियों की संख्या लौटाता है।

वाक्यविन्यास:
 COUNT चुनें(column_name )table_name . से जहां हालत;
उदाहरण:
जानकारी से COUNT(StudentID)चुनें;

AVG() फ़ंक्शन

यह फ़ंक्शन आपके द्वारा चुने गए संख्यात्मक कॉलम का औसत मान देता है।

वाक्यविन्यास:
औसत चुनें(column_name )table_name . से जहां हालत;
उदाहरण:
जानकारी से औसत (फीस) चुनें;

SUM() फ़ंक्शन

यह फ़ंक्शन आपके द्वारा चुने गए संख्यात्मक कॉलम का कुल योग देता है।

वाक्यविन्यास:
चुनें योग(column_name )table_name . से जहां हालत;
उदाहरण:
जानकारी से SUM (फीस) चुनें;

विशेष ऑपरेटर

इस अनुभाग में निम्नलिखित ऑपरेटर शामिल हैं:

  • बीच में
  • IS NULL
  • LIKE
  • IN
  • EXISTS
  • सभी
  • कोई भी

ऑपरेटर के बीच

यह ऑपरेटर एक समावेशी ऑपरेटर है जो एक निश्चित सीमा के भीतर मूल्यों (संख्याओं, ग्रंथों या तिथियों) का चयन करता है।

वाक्यविन्यास:
चुनें कॉलम_नाम table_name . से जहां column_name  value1 . के बीच और value2; 
उदाहरण:
चुनें * उन छात्रों से जहां फीस 20000 और 40000 के बीच है;

IS NULL ऑपरेटर है

चूंकि तुलना ऑपरेटरों (=, <,>) के साथ NULL मानों के लिए परीक्षण करना संभव नहीं है, हम इसके बजाय IS NULL और IS NOT NULL ऑपरेटरों का उपयोग कर सकते हैं।

वाक्यविन्यास:
-- IS NULLSELECT column_names . के लिए सिंटैक्स table_name . से जहां column_name IS NULL;-- IS NOT NULLSELECT column_names . के लिए सिंटैक्स table_name . से जहां column_name खाली नहीं है;
उदाहरण:
छात्र का नाम, माता-पिता का नाम, Infostudents से पता जहां पता खाली है; छात्र का नाम, अभिभावक का नाम, Infostudents से पता चुनें जहां पता खाली नहीं है;

पसंद ऑपरेटर

इस ऑपरेटर का उपयोग WHERE क्लॉज में टेबल के कॉलम में निर्दिष्ट पैटर्न को खोजने के लिए किया जाता है।

नीचे दिए गए दो वाइल्डकार्ड हैं जिनका उपयोग LIKE ऑपरेटर के साथ संयोजन में किया जाता है:

  • % - प्रतिशत चिह्न शून्य, एक या एकाधिक वर्णों का प्रतिनिधित्व करता है
  • _ - अंडरस्कोर एक ही वर्ण का प्रतिनिधित्व करता है
वाक्यविन्यास:
चुनें कॉलम1, कॉलम2,... table_name . से जहां कॉलम पसंद पैटर्न;

निम्न तालिका को विभिन्न पैटर्नों के लिए देखें जिनका उल्लेख आप LIKE ऑपरेटर के साथ कर सकते हैं।

LIKE ऑपरेटर विवरण
जहां CustomerName LIKE 'z% कोई भी मान ढूंढता है जो "z" से शुरू होता है
जहां CustomerName LIKE '%z' कोई भी मान ढूंढता है जो "z" के साथ समाप्त होता है
जहां CustomerName '%and%' पसंद करता है किसी भी स्थिति में "और" वाले किसी भी मान को ढूंढता है
जहां CustomerName LIKE '_s%' कोई भी मान ढूंढता है जिसमें "s" दूसरे स्थान पर हो।
जहां CustomerName LIKE 'd_%_%' कोई भी मान ढूंढता है जो "d" से शुरू होता है और लंबाई में कम से कम 3 वर्ण होते हैं
जहां संपर्क नाम 'j%l' पसंद करता है कोई भी मान ढूंढता है जो "j" से शुरू होता है और "l" पर समाप्त होता है

तालिका 2: LIKE ऑपरेटर के साथ उल्लेखित पैटर्न - MySQL ट्यूटोरियल

उदाहरण:
चुनें * उन छात्रों से जहां छात्र का नाम 'S%' पसंद है;

IN ऑपरेटर

यह कई या शर्तों के लिए एक शॉर्टहैंड ऑपरेटर है जो आपको WHERE क्लॉज में कई मान निर्दिष्ट करने की अनुमति देता है।

वाक्यविन्यास:
चुनें कॉलम_नाम table_name . से जहां column_name IN (value1 , value2 , ...);
उदाहरण:
चुनें * Infostudents से देश में ('अल्जीरिया', 'भारत', 'ब्राज़ील');

नोट: नेस्टेड क्वेरी लिखते समय आप IN का भी उपयोग कर सकते हैं। नीचे दिए गए सिंटैक्स पर विचार करें:

मौजूद ऑपरेटर

इस ऑपरेटर का उपयोग यह जांचने के लिए किया जाता है कि कोई रिकॉर्ड मौजूद है या नहीं।

वाक्यविन्यास:
चुनें कॉलम_नाम table_name . से जहां मौजूद है (column_name  चुनें table_name . से जहां हालत );
उदाहरण:
चुनें विद्यार्थी का नाम विद्यार्थी जहां मौजूद हैं ( अभिभावक नाम से जानकारी जहां StudentId =05         

सभी ऑपरेटर

इस ऑपरेटर का उपयोग WHERE या HAVING क्लॉज के साथ किया जाता है और यदि सभी सबक्वेरी मान शर्त को पूरा करते हैं तो यह सही हो जाता है।

वाक्यविन्यास:
चुनें कॉलम_नाम table_name . से जहां column_name ऑपरेटर सभी(चुनें column_name  table_name  . से जहां हालत );
उदाहरण:
चुनें छात्रनाम जानकारी कहां से StudentID = सभी (चुनें StudentID FROM Infostudents WHERE फीस> 20000);कोई भी ऑपरेटर  

सभी ऑपरेटर के समान, किसी भी ऑपरेटर का उपयोग WHERE या HAVING क्लॉज के साथ भी किया जाता है और यदि कोई सबक्वेरी मान शर्त को पूरा करता है तो सत्य लौटाता है।

वाक्यविन्यास:
चुनें कॉलम_नाम table_name . से जहां column_name ऑपरेटर कोई भी (चुनें column_name  table_name . से जहां हालत );
उदाहरण:
छात्र का नाम चुनें जहां छात्र आईडी =कोई भी (जिन छात्रों की फीस 22000 और 23000 के बीच है);

अब, जब मैंने आपको DML कमांड के बारे में बहुत कुछ बता दिया है, तो मैं आपको संक्षेप में नेस्टेड क्वेरीज़, जॉइन्स और सेट ऑपरेशंस के बारे में बताता हूँ।

जानना चाहते हैं कि क्लाउड में रिलेशनल डेटाबेस कैसे सेट करें?

MySQL ट्यूटोरियल: नेस्टेड क्वेरी

नेस्टेड क्वेरी वे प्रश्न हैं जिनमें बाहरी क्वेरी और आंतरिक सबक्वायरी है। तो, मूल रूप से, सबक्वायरी एक क्वेरी है जो किसी अन्य क्वेरी जैसे कि SELECT, INSERT, UPDATE या DELETE में नेस्टेड है। नीचे दी गई छवि का संदर्भ लें:

चित्र 3: नेस्टेड प्रश्नों का प्रतिनिधित्व - MySQL ट्यूटोरियल

MySQL ट्यूटोरियल: जुड़ता है

JOINS are used to combine rows from two or more tables, based on a related column between those tables. The following are the types of joins:

  • INNER JOIN: This join returns those records which have matching values in both the tables.
  • FULL JOIN: This join returns all those records which either have a match in the left or the right table.
  • LEFT JOIN: This join returns records from the left table, and also those records which satisfy the condition from the right table.
  • RIGHT JOIN: This join returns records from the right table, and also those records which satisfy the condition from the left table.

Refer to the image below.

Fig 4: Representation Of Joins – MySQL Tutorial

Let’s consider the below table apart from the Infostudents table, to understand the syntax of joins.

CourseID StudentID CourseName StartDate
1 10 DevOps 09-09-2018
2 11 Blockchain 07-04-2018
3 12 Python 08-06-2018

Table 3: Sample Database – MySQL Tutorial

INNER JOIN

Syntax:
SELECT column_name(s) FROM table1 INNER JOIN table2  ON table1.column_name  = table2.column_name;
Example:
SELECT Courses.CourseID, Infostudents.StudentNameFROM CoursesINNER JOIN Infostudents ON Courses.StudentID =Infostudents.StudentID;

FULL JOIN

Syntax:
SELECT column_name(s) FROM table1 FULL OUTER JOIN table2  ON table1.column_name  = table2.column_name;
Example:
SELECT Infostudents.StudentName, Courses.CourseIDFROM InfostudentsFULL OUTER JOIN Orders ON Infostudents.StudentID=Orders.StudentIDORDER BY Infostudents.StudentName;

LEFT JOIN

Syntax:
SELECT column_name(s) FROM table1 LEFT JOIN table2  ON table1.column_name  = table2.column_name;
Example:
SELECT Infostudents.StudentName, Courses.CourseIDFROM InfostudentsLEFT JOIN Courses ON Infostudents.CustomerID =Courses.StudentIDORDER BY Infostudents.StudentName;

RIGHT JOIN

Syntax:
SELECT column_name(s) FROM table1 RIGHT JOIN table2  ON table1.column_name  = table2.column_name;
Example:
SELECT Courses.CourseIDFROM CoursesRIGHT JOIN Infostudents ON Courses.StudentID =Infostudents.StudentID ORDER BY Courses.CourseID;

MySQL Tutorial: Set Operations

There are mainly three set operations:UNION, INTERSECT, SET DIFFERENCE. You can refer to the image below to understand the set operations in SQL.

Now, that you guys know the DML commadsn. Let’s move onto our next section and see the DCL commands.

MySQL Tutorial: Data Control (DCL) Commands

This section consists of those commands which are used to control privileges in the database. The commands are:

  • GRANT
  • REVOKE

GRANT

This command is used to provide user access privileges or other privileges for the database.

Syntax:
GRANT privileges ON object TO user;
Example:
GRANT CREATE ANY TABLE TO localhost;

REVOKE

This command is used to withdraw user’s access privileges given by using the GRANT command.

Syntax:
REVOKE privileges ON object FROM user;
Example:
REVOKE INSERT ON *.* FROM Infostudents;

Now, let’s move on to the last section of this blog i.e. the TCL Commands.

MySQL Tutorial: Transaction Control (TCL) Commands

This section of commands mainly deals with the transaction of the database. The commands are:

  • COMMIT
  • ROLLBACK
  • SAVEPOINT
    • RELEASE SAVEPOINT
  • SET TRANSACTION

COMMIT

This command saves all the transactions to the database since the last COMMIT or ROLLBACK command.

Syntax:
COMMIT;
Example:
DELETE FROM Infostudents WHERE Fees =42145;COMMIT;

ROLLBACK

This command is used to undo transactions since the last COMMIT or ROLLBACK command was issued.

Syntax:
ROLLBACK;
Example:
DELETE FROM Infostudents WHERE Fees =42145;ROLLBACK;

SAVEPOINT

This command creates points within the groups of transactions in which to ROLLBACK. So, with this command, you can simply roll the transaction back to a certain point without rolling back the entire transaction.

Syntax:
SAVEPOINT SAVEPOINT_NAME; --Syntax for saving the SAVEPOINTROLLBACK TO SAVEPOINT_NAME; --Syntax for rolling back to the Savepoint command
Example:
SAVEPOINT SP1;DELETE FROM Infostudents WHERE Fees =42145;SAVEPOINT SP2;

RELEASE SAVEPOINT

You can use this command to remove a SAVEPOINT that you have created.

Syntax:

RELEASE SAVEPOINT SAVEPOINT_NAME;

Example:
RELEASE SAVEPOINT SP2;

SET TRANSACTION

This command gives a name to the transaction.

Syntax:
SET TRANSACTION [ READ WRITE | READ ONLY ];

I hope you enjoyed reading this blog on MySQL Tutorial blog. We have seen the different commands that will help you write queries and play around with your databases.

Interested in learning more about MySQL?

If you wish to learn more about MySQL and get to know this open source relational database, then check out our MySQL DBA Certification Training which comes with instructor-led live training and real-life project experience. This training will help you understand MySQL in depth and help you achieve mastery over the subject.

Got a question for us? Please mention it in the comments section of ”MySQL Tutorial ” and I will get back to you.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. RDS पर MySQL इंस्टेंस को स्पिन करने के लिए क्लाउड फॉर्मेशन टेम्प्लेट का उपयोग करें

  2. MySQL में INDEX, PRIMARY, UNIQUE, FULLTEXT के बीच अंतर?

  3. फेडोरा 12 पर MySQL रिलेशनल डेटाबेस का उपयोग करें

  4. MySQL में टेबल कैसे बनाएं

  5. MySQL sproc के पैरामीटर के रूप में LIMIT पास करना