एस क्यू एल मूलतत्त्वे

डीडीएल, डीएमएल आणि JOIN विषयी जाणून घ्या

स्ट्रक्चर्ड क्वेरी भाषा आधुनिक डाटाबेस आर्किटेक्चरच्या मूलभूत इमारतींपैकी एक आहे. एस क्यू एल सर्व प्रमुख प्लॅटफॉर्म्सवर रिलेशन्शनल डेटाबेस तयार करण्यासाठी आणि हाताळण्यासाठी वापरण्यात येणा-या पद्धती निश्चित करते. पहिल्या दृष्टीक्षेपात, भाषा धाकदूक व जटिल वाटू शकते, परंतु हे सर्व कठीण नाही.

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

एस क्यू एल विषयी

एस क्यू एलचे योग्य उच्चारण म्हणजे डेटाबेस समुदायात विवादास्पद समस्या आहे. त्याच्या एस क्यू एल मानकांमध्ये, अमेरिकन नॅशनल स्टँडर्ड इन्स्टिट्यूटने घोषित केले की अधिकृत उच्चारण "es queue el." तथापि, अनेक डेटाबेस व्यावसायिकांनी स्लंग उच्चारण "सिक्वेल" वर नेले आहे. निवड तुमची आहे.

एस क्यू एल अनेक फ्लेवर्समध्ये येतो. ओरॅकल डाटाबेस तिच्या मालकी पीएल / एस क्यू एल वापरतात. मायक्रोसॉफ्ट एस क्यू एल सर्व्हर ट्रान्सैक्ट-एसक्यूएलचा वापर करते सर्व रूपांतर उद्योग मानक ANSI SQL वर आधारित आहेत. हे परिचय ANSI- सहत्व SQL आज्ञा वापरते जे कोणत्याही आधुनिक संबंधीत डेटाबेस प्रणालीवर कार्य करतात.

डीडीएल आणि डीएमएल

एस क्यू एल कमांड्स दोन मुख्य उप भाषांमध्ये विभागली जाऊ शकतात. डेटा डिफिएंशन लँग्वेज (डीडीएल) मध्ये डेटाबेस आणि डेटाबेस ऑब्जेक्ट्स तयार आणि नष्ट करण्यासाठी वापरल्या जाणार्या आज्ञा आहेत. डेटाबेस संरचना डीडीएल सह परिभाषित केल्यावर डाटाबेस प्रशासक आणि वापरकर्ते डेटा मॅनिपुलेशन लँग्वेज (डीएमएल) वापरू शकतात जेणेकरून त्यातील अंतर्भूत डेटा समाविष्ट, पुनर्प्राप्त आणि सुधारता येईल.

डेटा परिभाषा भाषा आदेश

डाटा डेफिनेशन भाषा वापरली जाते व डाटाबेस ऑब्जेक्ट्स तयार आणि नष्ट करते. डेटाबेस आज्ञावली द्वारे डेटाबेस आज्ञावली तयार करणे आणि डेटाबेस प्रोजेक्टच्या निष्कासन टप्प्यांत या आदेशांचा वापर प्रामुख्याने केला जातो. येथे चार मूलभूत डीडीएल आदेशांची संरचना आणि वापर पहा:

तयार करा संगणकावर डाटाबेस मॅनेजमेंट सिस्टम स्थापित करणे आपल्याला अनेक स्वतंत्र डाटाबेस तयार आणि व्यवस्थापित करण्यास परवानगी देते. उदाहरणार्थ, आपण आपल्या विक्री विभागासाठी ग्राहक संपर्कांचे डेटाबेस तयार करू शकता आणि आपल्या एचआर विभागासाठी कर्मचारी डेटाबेस तयार करू शकता. CREATE कमांड आपल्या प्लॅटफॉर्मवरील प्रत्येक डेटाबेसला स्थापित करण्यासाठी वापरली जाते. उदाहरणार्थ, आदेश:

डेटाबेस तयार करा कर्मचारी

आपल्या DBMS वरील "कर्मचारी" असलेले रिक्त डेटाबेस तयार करते डेटाबेस तयार केल्यानंतर, पुढील पायरी म्हणजे डेटा असलेल्या टेबला बनवणे. CREATE कमांडचा अन्य प्रकार या कारणासाठी वापरला जाऊ शकतो. आदेश:

टेबल वैयक्तिक_इनफो तयार करा (प्रथम_नाव वर्ण (20) शून्य नाही, शेवटचा_नाव वर्ण (20) शून्य नाही, employee_id इंट नल नाही)

वर्तमान डेटाबेसमध्ये "personal_info" शीर्षक असलेली एक टेबल तयार करते उदाहरणार्थ, टेबलमध्ये तीन विशेषता आहेत: first_name, last_name आणि employee_id काही अतिरिक्त माहितीसह.

वापरा. USE आदेश आपल्याला आपल्या DBMS मधून काम करू इच्छित डेटाबेस निर्दिष्ट करण्यास परवानगी देतो. उदाहरणार्थ, आपण सध्या विक्री डेटाबेसमध्ये काम करत असल्यास आणि काही कमांड्स जारी करू इच्छित असल्यास ज्या कर्मचारी डेटाबेसवर परिणाम करतील, त्यांना पुढील SQL आदेशासह सादर करा:

USE कर्मचारी

डेटा कुशलतेने SQL आदेश जारी करण्यापूर्वी आपण नेहमी कार्यरत असलेल्या डेटाबेसबद्दल जागृत असणे महत्त्वाचे आहे.

बदल. एकदा आपण एखाद्या डेटाबेसमध्ये एक टेबल तयार केल्यानंतर आपण त्याची व्याख्या सुधारू शकतो. ALTER आदेश आपल्याला ते हटविण्याऐवजी आणि पुन्हा तयार केल्याशिवाय टेबलच्या संरचनेत बदल करण्यास अनुमती देते. खालील आदेश पहा:

ALTER TABLE personal_info वेतन वेतना पैसे व्यर्थ

हे उदाहरण personal_info सारणीमध्ये एक नवीन विशेषता समाविष्ट करते-एक कर्मचारी वेतन "पैसे" युक्तिवाद असा आहे की कर्मचारी व त्याचे वेतन एक डॉलर आणि सेंट फॉर्मेट वापरून साठवले जाते. अखेरीस, "शून्य" कीवर्ड डेटाबेसला सांगते की या फील्डमध्ये कोणत्याही दिलेल्या कर्मचार्यासाठी कोणतेही मूल्य नसावे.

थेंब. डेटा डेफिनेशन लँग्वेजची अंतिम आज्ञा, ड्रॉप, आमच्या डीबीएमएस मधील संपूर्ण डेटाबेस ऑब्जेक्ट्स काढून टाकण्यास परवानगी देते. उदाहरणार्थ, जर आम्ही बनविलेल्या वैयक्तिक_इनफॉईज कायमस्वरुपी काढू इच्छित असल्यास, आम्ही खालील आदेश वापरतो:

ड्रॉप टेबल वैयक्तिक_इन्फो

त्याचप्रमाणे, खालील कमांडचा संपूर्ण कर्मचारी डेटाबेस काढून टाकण्यासाठी वापरला जाईल:

ड्रॉप डॅथाबेस कर्मचारी

ही आज्ञा काळजीपूर्वक वापरा. DROP कमांड आपल्या डेटाबेसमधील संपूर्ण डेटा स्ट्रक्चर्स काढून टाकते. आपण वैयक्तिक रेकॉर्ड काढू इच्छित असल्यास, डेटा मॅनिपुलेशन भाषाच्या DELETE कमांडचा वापर करा.

डेटा मॅनिपुलेशन लँग्वेज कमांड्स

डेटा मॅनिपुलेशन लँग्वेज (डीएमएल) डेटाबेस माहिती पुनर्प्राप्त, घाला आणि सुधारित करण्यासाठी वापरली जाते. ह्या आज्ञा डेटाबेसच्या रुटीय कार्यालयात सर्व डेटाबेस उपयोगकर्त्याद्वारे वापरल्या जातात.

INSERT एस क्यू एल मधील INSERT कमांडचा वापर विद्यमान टेबलमध्ये रेकॉर्ड जोडण्यासाठी केला जातो. मागील विभागातील personal_info उदाहरणावर परत ये, अशी कल्पना करा की आपल्या एचआर विभागाला त्याच्या कर्मचार्यांकडे एक नवीन कर्मचारी जोडावा लागतो. आपण यासारखाच एक कमांड वापरु शकता:

वैयक्तिक_विज्ञान मूल्यांकरीता INSERT ('बार्ट', 'सिम्पसन', 12345, $ 45000)

लक्षात घ्या रेकॉर्डसाठी निर्दिष्ट केलेल्या चार मूल्ये आहेत. हे तक्त्याच्या गुणधर्मांशी सुसंगत असलेल्या क्रमानुसार असतात: first_name, last_name, employee_id आणि salary

निवडा. SELECT कमांड हा एसक्यूएल मधील सर्वात जास्त वापरला जाणारा कमांड आहे. हे डेटाबेस वापरकर्त्यांना ऑपरेशनल डेटाबेसमधून विशिष्ट माहिती पुनर्प्राप्त करण्याची परवानगी देते. काही उदाहरणे पहा, कर्मचारी डेटाबेसमधील वैयक्तिक_इनफॉई चा वापर करुन.

खाली दर्शविलेल्या कमांड, व्यक्तिगत माहितीमधील सर्व माहिती प्राप्त करते. लक्षात घ्या की एसइझेडमध्ये हे वाइल्डकार्ड म्हणून वापरली जाते. याचा अर्थ आहे "वैयक्तिक-इंनिएबेज टेबलमधून सर्व निवडा."

वैयक्तिक_इन्फोमधून निवडा

वैकल्पिकरित्या, वापरकर्त्यांनी डेटाबेसमधून मिळवलेल्या विशेषाधिकारांना मर्यादा घालण्याची इच्छा असू शकते. उदाहरणार्थ, मानवी संसाधनांच्या विभागात कंपनीतील सर्व कर्मचा-यांवरील शेवटच्या नावांची यादी आवश्यक असू शकते. खालील SQL कमांड केवळ ती माहिती पुनर्प्राप्त करेल:

Personal_info वरून अंतिम_नाव निवडा

WHERE कलम विशिष्ट निकषांशी जुळणार्या अभिलेखांची मर्यादा घालण्यासाठी वापरले जाऊ शकते. मुख्य कार्यकारी अधिकारी सर्व उच्च पेड कर्मचार्यांचे कर्मचा-यांची नक्कल पाहण्यास इच्छुक असू शकतात. खालील कमांड $ 50,000 पेक्षा जास्त पगाराच्या मूल्यांकनात वैयक्तिक डेटामधील वैयक्तिकृत सर्व डेटा पुनर्प्राप्त करतात:

वैयक्तिक_इनfo पगारापर्यंत> SELECT * $ 50000

अद्ययावत करा UPDATE कमांडचा वापर तक्तामध्ये असलेली माहिती सुधारित करण्यासाठी केला जाऊ शकतो, एकतर मोठ्या प्रमाणात किंवा वैयक्तिकरित्या. गृहीत धरून कंपनी सर्व कर्मचाऱ्यांना दरवर्षी त्यांच्या पगारात 3 टक्के खर्च-लाईव्ह वाढवते. खालील SQL आदेशचा वापर डेटाबेसमधील सर्व कर्मचार्यांना त्वरित लागू करण्यासाठी केला जाऊ शकतो:

वैयक्तिक_इनफो सेट वेतन = पगार * 1.03

जेव्हा नवीन कर्मचारी बार्ट सिम्पसन कर्तव्यच्या कॉलमपेक्षा वर आणि त्याहूनही कार्यक्षमतेचे प्रात्यक्षिक दाखवतात, तेव्हा व्यवस्थापनास त्याच्या तारकांची पूर्ण कल्पना 5000 रूपयांनी वाढवण्याची इच्छा असते. या वाढीसाठी बार्टला सिंगल आउट करण्यासाठी WHERE कलम वापरला जाऊ शकतो:

Personal_info SET salary = salary + $ 5000 अद्यतनित करा ज्यामध्ये employee_id = 12345

DELETE शेवटी, DELETE कमांडकडे पाहू. आपल्याला दिसेल की या कमांडची सिंटॅक्स इतर डीएमएल कमांड्सच्या समान आहे. दुर्दैवाने, आमच्या नवीनतम कॉर्पोरेट उत्पन्न अहवालाची अपेक्षांची पूर्णता पूर्ण झाली नाही आणि बार्टने बंद केले आहे. WHERE कलम असलेला DELETE आदेश त्याच्या रेकॉर्डला व्यक्तिगत आयएनओ टेबलवरून काढण्यासाठी वापरला जाऊ शकतो:

वैयक्तिक_अनुक्रमांक WHERE कर्मचारी_id = 12345 मधून हटवा

JOIN

आता आपण एस क्यू एल ची मूलभूत तत्त्वे शिकलात की, भाषेस ऑफर करण्याची सर्वात प्रभावी संकल्पनांपैकी एक आहे- JOIN स्टेटमेंट. एक संयुक्त निवेदनामुळे आपण बर्याच तक्त्यामध्ये डेटा मोठ्या प्रमाणात संकालित करण्यासाठी मोठ्या प्रमाणावर डेटा प्रक्रिया करू शकतो. ही विधाने अशी आहेत की जिथे डेटाबेसचे खरे सामर्थ्य असते

दोन सारण्यांमधील डेटा एकत्र करण्यासाठी मूळ JOIN ऑपरेशनचा वापर एक्सप्लोर करण्यासाठी, PERSONAL_INFO सारणी वापरून उदाहरण पुढे चालू ठेवा आणि मिश्रणात अतिरिक्त सारणी जोडा. समजा आपल्याकडे खालील विधानासह तयार केलेली एक DISCIPLINARY_ACTION सारणी आहे:

टेबल शिस्तबद्धता तयार करा (action_id int नल नाही, employee_id इंट नल रिक, टिप्पण्या char (500))

या सारणीमध्ये कंपनीच्या कर्मचा-यांवरच्या शिस्तभंगाच्या कारणाचा परिणाम असतो. आपण लक्षात येईल की त्यामध्ये कर्मचार्याच्या संख्येपेक्षा इतर कर्मचार्याबद्दल कोणतीही माहिती नाही. आपण DISCIPLINARY_ACTION आणि PERSONAL_INFO तक्तेमधील माहिती एकत्रित करू इच्छित असलेल्या अनेक कल्पनांची कल्पना करणे सोपे आहे.

समजा आपण एका अहवाल तयार करण्यासह कार्य केले आहे जे सर्व कर्मचारी विरुद्ध $ 40,000 पेक्षा अधिक वेतन असलेल्या शिस्तभंगाची कारवाई करते. या प्रकरणात, एक JOIN ऑपरेशनचा वापर सरळ आहे. आम्ही ही माहिती खालील आदेश वापरून पुनर्प्राप्त करू शकतो:

Personal_info.first_name, personal_info.last_name, वैयक्तिक इंटिऑन, शिस्तप्रिय_अनुप्रयोग WHERE पर्सनल_इनफू.निर्मायी_आयडी = अनुशासनात्मक_अॅक्शन.मॉरिझर_आयडी आणि व्यक्तिगत_विज्ञान स्त्रोत> 40000 वरुन निवडा

कोड दोन सारण्या निर्दिष्ट करतो जे आम्ही FROM क्लॉज मध्ये सामील होणे आणि नंतर त्यात WHERE कलममधील निकालासह कर्मचा-यांशी जुळणार्या रेकॉर्डला मर्यादित करण्यासाठी आणि $ 40,000 पेक्षा जास्त पगाराच्या आमच्या मापदंडाची पूर्तता करणे समाविष्ट करते.