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

एस क्यू एल-क्वेरी आदेश

एस क्यू एल - डेटाबेस तयार करण्यासाठी आणि व्यवस्थापित करण्यासाठी, तसेच डेटा स्वतः क्रिया विविध सर्वात सामान्य संगणकाची आज्ञावली भाषांपैकी एक.

सराव शो म्हणून, तो वापरण्यासाठी खूप सोपे आहे आणि इंग्रजी भाषा मानक शब्दसंग्रह सर्वात करते. कोणत्याही इतर प्रोग्रामींग भाषा प्रमाणे, एस क्यू एल त्याच्या स्वत: च्या तर्कशास्त्र आणि त्यात वाक्यरचना, त्यांच्या वापरासाठी मूलभूत आदेश आणि नियम यांचा एक संच आहे.

एस क्यू एल आदेश वर्गीकरण

सर्व मानक एस क्यू एल आदेश त्यांच्या गंतव्य आधारित मानले जाऊ शकते. वर्गीकरण vneglasnoy आधार म्हणून अशा संच म्हणून करू शकता:

  1. आदेश चौकशी.

  2. संघ अंगभूत प्रक्रिया आणि कार्ये.

  3. ट्रिगर आणि प्रणाली टेबल आज्ञा.

  4. तारीख आणि स्ट्रिंग व्हेरिएबल्स काम जोड्या निश्चित होतो.

  5. डेटा आणि टेबल काम आदेश.

हे वर्गीकरण न संपणारी आहे, परंतु मूलभूत एस क्यू एल भाषा आदेश संच कारण या प्रकारच्या तंतोतंत बांधले जातात.

भाषा वर्गीकरण लक्षात घेता, त्याच्या वापराचा वाव पुराव्यांवरून म्हणून, सार्वत्रिक आहे की उल्लेख नाही. या प्रोग्रामिंग भाषा आणि त्याच्या रूपे मानक वातावरणात पण, एक मार्ग किंवा दुसर्या, आपण वापरले आहे इतर कार्यक्रम, नाही फक्त जातो.

एस क्यू एल वापर व्याप्ती कार्यालय सॉफ्टवेअर दृष्टीकोन, म्हणजे MicrosoftAccess पाहिले जाऊ शकते. ही भाषा, किंवा असं म्हणा, त्याच्या प्रजाती - MySQL, आपण इंटरनेट डेटाबेस अधिकार असतात. जरी क्वेरी एस क्यू एल आदेश त्यांचा वापर आधारित ओरॅकल विकास वातावरण.

MicrosoftAccess एस क्यू एल वापरणे

डेटाबेस प्रोग्रामिंग सॉफ्टवेअर संकुल सर्वात सामान्य वापर भाषा एक MicrosoftOffice मानले जाते. हे सॉफ्टवेअर अभ्यास शाळा संगणक विज्ञान अर्थातच उपलब्ध आहे, आणि शेवटच्या ग्रेड मध्ये मानली जाते एक डाटाबेस मॅनेजमेंट सिस्टम MicrosoftAccess.

हे अर्ज विद्यार्थ्यांना भाषा विकास सह परिचित अभ्यास आहे माहितीकोष आणि तो समाविष्ट सर्व मूलभूत समजून करा. एस क्यू एल प्रवेश संघ ऐवजी प्राचीन, अर्थातच, आम्ही एक व्यावसायिक रीतीने त्यांना विचार तर. अशा आदेश चालवणे अतिशय सोपे आहे, आणि ते कोड एडिटर मध्ये रुपांतर आहेत.

एक विशिष्ट उदाहरण विचार करा:

निवडा Pe_SurName

Pherson मधून

जेथे Pe_Name = 'मेरी';

आदेश मांडणी आधारित, आपण तो या प्रकरणात, मरीया नावाची एक स्त्री, संपर्क डेटाबेस सारणी मध्ये साठवली जाते ज्या व्यक्तीच्या वापरकर्ता नाव परत समजू शकतो की.

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

Oracle मध्ये एस क्यू एल वाक्यांचा उपयोग

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

आदेश एक विशिष्ट वापर करून ओरॅकल प्रणाली अशा क्लिष्ट रचना नाही. आम्ही डेटाबेस विकास वातावरणात डेटा क्षमता विचार केल्यास, ओरॅकल नेस्टेड क्वेरी क्लिष्ट रचना नाही.

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

SELECTCONCAT (CONCAT (CONCAT ( 'कर्मचारी', sname), CONCAT (SUBSTR (fname:, 0, 1), SUBSTR (otch, 0, 1))), CONCAT ( 'prinyatnarabotu', acceptdate)) कर्मचारी कोठून acceptdate> TO_DATE ('01 .01.80 ',' dd.mm.yyyy ');

या क्वेरीच्या वेळी एक काही काळ काम करतात कोण कर्मचारी, डेटा परत येईल. क्वेरी रचना वेगळे आहे, तरी मायक्रोसॉफ्ट SQL सर्व्हर, एस क्यू एल च्या अंमलबजावणी या प्रणाली आज्ञा अल्पवयीन तपशील वगळता, समान आहे.

इंटरनेट वर एस क्यू एल वापरणे

वर्ल्ड वाईड वेब घटने किंवा प्रसंगाचे आगमन सह, इंटरनेट, एस क्यू एल भाषा वापराचा वाव विस्तारत आहे म्हणजे. म्हणून ओळखले जाते, नेटवर्क माहिती भरपूर साठवली जाते, पण तो गोंधळलेला नाही, आणि काही निकष त्यानुसार वेबसाइट आणि सर्व्हर वर पोस्ट.

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

वाक्यरचना आणि पूर्णपणे मायक्रोसॉफ्ट tSQL सर्व्हर विपरीत त्याला देऊ त्याच्या वाढीव काही, सर्व परिचित एस क्यू एल कॉपी भाषा आदेशांची मूलभूत.

एस क्यू एल केवळ वाक्यरचना पण शब्द फंक्शन मानक पूर्णपणे समान आज्ञा. फक्त फरक कॉल विनंती आणि .केजरीवालनी आहे. उदाहरणार्थ, एक नवीन सारणी तयार करण्यासाठी एक विनंती विचार काय ते संगणकावर शाळांमध्ये मुलांना शिकवू ती प्रथम आहे:

$ दुवा = mysqli_connect ( 'localhost', "रूट", '', 'परीक्षक');

जर (! $ दुवा) मरण ( "त्रुटी");

$ क्वेरी = 'टेबल वापरकर्त्यांना (

लॉग इन VARCHAR (20)

पासवर्ड VARCHAR (20)

');

तर (mysqli_query ($ दुवा, $ क्वेरी)) इको "सारणी तयार.";

elseecho "टेबल तयार झाले आहे नाही," .mysqli_error ();

mysqli_close ($ दुवा);

वापरकर्तानाव आणि संकेतशब्द: अशी विनंती एक परिणाम म्हणून, आपण दोन फील्ड होणार एक नवीन सारणी "वापरकर्ते", मिळवू शकता.

वाक्यरचना वेब अंतर्गत बदलली, पण MicrosoftSQLServer संघ आधारित आहे.

इमारत क्वेरी MicrosoftSQLServer

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

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

व्यक्ती पासून * निवडा

कोठे P_BerthDay> = '01 / 01/2016 'आणि P_BerthDay <= 03 / 01/2016'

हा आदेश अंमलबजावणी कर्मचारी सर्व डेटा परत येईल, ज्या वाढदिवस आपण सेट केली गेली आहे, जे या कालावधीत आहे. कधी कधी आपण फक्त आडनाव, नाव आणि कर्मचारी वाडवडिलांच्या प्रदर्शित करण्यासाठी आव्हान केले जाऊ शकते. या शेवटी, खालील प्रमाणे एक वेगळी, उदाहरणार्थ तयार विनंती:

SelectP_Name - नाव

P_SurName - आडनाव

P_Patronimic - वाडवडिलांच्या

व्यक्ती पासून

कोठे P_BerthDay> = '01 / 01/2016 'आणि P_BerthDay <= 03 / 01/2016'

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

मूलभूत एस क्यू एल डेटा बदलण्यासाठी आज्ञा

वाक्यरचना नाही फक्त चौकशीकरीता, पण डेटा इच्छित हालचाल घडवून आणण्यासाठी हाताचा उपयोग करणे तयार करण्यात आला आहे. मुळात, कार्य डेटाबेस प्रोग्रामर नमुने आणि अहवाल स्क्रिप्ट लिहित आहे, पण कधी कधी आपण टेबल बदल करणे आवश्यक आहे. एस क्यू एल अशा क्रिया यादी लहान आहे आज्ञा करतो व तीन मुख्य संघ बाबींचा समावेश होतो:

  1. समाविष्ट करा (पलीकडे. समाविष्ट करा).

  2. अद्यतनित करा (पलीकडे. अद्यतन).

  3. हटवा (पलीकडे. काढा).

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

एक नियम म्हणून, या आज्ञा MSSQL वापरण्यापूर्वी आपण विचार आणि त्यांची अंमलबजावणी शक्य ती सर्व परिणाम खात्यात घेणे आवश्यक आहे.

या आज्ञा शिकत केल्यानंतर, आपण पूर्णपणे डेटाबेस टेबल काम सुरू, ज्यामुळे संपादीत आणि काही नवीन स्पष्टीकरणात्मक चल करा किंवा जुन्या काढून सक्षम असेल.

संघ घाला

सुरक्षित संघ वापरून टेबल मध्ये डेटा घाला करण्यासाठी - समाविष्ट करा. चुकीने घातले डेटा काढून टाका आणि पुन्हा डेटाबेस जोडण्यासाठी नेहमी शक्य आहे.

टेबल मध्ये नवीन डेटा घालण्यासाठी आदेश घाला आणि आपण संपूर्ण संच म्हणून जोडण्यासाठी, आणि निवडक परवानगी देते.

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

व्यक्ती मध्ये घाला

'Grigoriev' 'Vitali', 'Petrovich', '1/1/1988' निवडा

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

Insertintoperson (P_Name, P_SurName, P_BerthDay)

मूल्ये ( 'डेव्हिड', 'हुक', '2/11/1986')

हा संघ केवळ निर्दिष्ट सेल भरते, आणि इतर सर्व निरर्थक होईल.

आदेश डेटा बदलण्यासाठी

एक संपूर्ण ओळ म्हणून डेटा बदलण्यासाठी, आणि काही पेशी अद्यतन एस क्यू एल आदेशचा वापर करा. हा आदेश फक्त काही अटी करणे आवश्यक आहे कार्यान्वीत, म्हणजे, तंतोतंत बदल करण्यासाठी आवश्यक संख्या कोणत्या ओळ सूचित करतात.

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

व्यक्ती अद्यतन

सेट करा P_BerthDay = '02 / 10/1986 'जेथे P_ID = 5

(स्क्रिप्ट मध्ये) अट सर्व टेबल रेकॉर्ड जन्म तारीख बदलणार नाही, आणि फक्त आवश्यक अद्यतनित.

तो संपूर्ण माहिती लक्षणीय नुकसान होऊ न देता टेबल मध्ये डेटा बदलण्यासाठी परवानगी देतो कारण प्रोग्रामर या संघ, बर्याच वेळा वापर आहे.

अंगभूत प्रक्रिया आणि फंक्शन्स वापरण्यासाठी आदेश

भाषा एस क्यू एल च्या मदतीने, आपण फक्त क्वेरी तयार करू शकत नाही, पण डेटा काम अंगभूत यंत्रणा तयार करणे. एक नियम म्हणून, आपण शरीर पत्र लिहिले क्वेरी नमुना वापरू इच्छिता तेव्हा वेळा आहेत.

तार्किकदृष्ट्या न्याय, नंतर आपण कॉपी आणि योग्य ठिकाणी नमुना मजकूर पेस्ट करणे आवश्यक आहे, पण आपण एक साधे उपाय करू शकता. काम इंटरफेस प्रदर्शित बटण अहवाल प्रिंट जेथे Excel मध्ये उदाहरणार्थ एक उदाहरण विचारात घ्या. गरज म्हणून हे ऑपरेशन केले जाऊ शकते. अशा कारणास्तव, अंगभूत संग्रहित कार्यपद्धती आहेत. आदेश एस क्यू एल क्वेरी, या प्रकरणात, प्रक्रिया आहेत आणि एक SQLExec संघ द्वारे झाल्याने आहेत.

आम्हाला आधी वर्णन व्यक्ती टेबल कर्मचारी जन्म मागे तारखा प्रक्रिया निर्माण झाली असे समजा. या प्रकरणात, संपूर्ण क्वेरी लिहिण्याची गरज नाही. आवश्यक माहिती प्राप्त करण्यासाठी आदेश Exec [प्रक्रिया नाव] कार्यान्वित आणि नमूना आवश्यक घटके पुरवण्यासाठी पुरेसे आहे. एक उदाहरण म्हणून आम्ही प्रक्रिया अशा निसर्ग निर्मितीसाठी यंत्रणा विचार करू शकता:

CREATEPROCEDUREPrintPerson

@DB smalldatetime

@DE smalldatetime

म्हणून

NOCOUNT वर सेट;

व्यक्ती निवडा *

HumanResources.vEmployeeDepartmentHistory मधून

जेथे P_BerthDay> = @DB आणि P_BerthDay <= @DE

ANDEndDateISNULL;

जा

ही पद्धत ज्या वाढदिवस दिलेल्या कालावधीत असेल कर्मचारी सर्व माहिती परत.

संघटना डेटा प्रामाणिकता. ट्रिगर

काही महेंद्रसिंग एस क्यू एल आदेश, एक अगदी म्हणेल डिझाइन डेटा इच्छित हालचाल घडवून आणण्यासाठी हाताचा उपयोग करणे आयोजित करू शकता नाही फक्त, पण एकनिष्ठ याची खात्री करण्यासाठी. भाषा रचना प्रणाली डिझाइन, प्रोग्रामर स्वत: निर्माण अशा हेतूने. या ट्रिगर म्हणतात डेटा नियंत्रण प्रदान करू शकते, आहे.

या प्रकरणात, मानक एस क्यू एल-शंका आदेशचा वापर चाचणी अटी संस्थेसाठी. ट्रिगर, आपण माहिती नाही फक्त प्रवेश नियंत्रित करणार्या परंतु देखील काढण्याची, सुधारणा मनाई, किंवा डेटा समाविष्ट डेटा अटी आणि मर्यादा भरपूर तयार करू शकता.

एक ट्रिगर मध्ये वापरले जाऊ शकते की एस क्यू एल आदेश प्रकार, इतकेच मर्यादित नाही. खालील उदाहरण लक्षात घ्या.

आम्ही ट्रिगर तयार करण्यासाठी यंत्रणा वर्णन, तर एस क्यू एल आदेश प्रकार एक प्रक्रिया तयार करताना समान आहेत. अल्गोरिदम स्वतः खाली वर्णन केले जाईल.

पहिले पाऊल ट्रिगर तयार सेवा आदेश वर्णन आहे:

TRIGGER Person_Insert तयार

एक टेबल पुढील ठिकाण:

ONPerson

जे डेटा ऑपरेशन (या प्रकरणात, डेटा ऑपरेशन बदला) दर्शविते.

पुढील चरण सारण्या आणि चल निर्देशीत आहे:

@ID int सांगितले. @date smalldatetime @nID int. @nDatesmalldatetime

पुढील डेटा सारणी काढण्याची आणि डेटा अंतर्भूत निवडण्यासाठी cursors जाहीर:

घातली पासून P_ID निवडा साठी कर्सर C1 जाहीर, P_BerthDay

हटविले निवडा P_ID, P_BerthDay साठी कर्सर C2 जाहीर

डेटा निवड पावले व्याख्या. शरीरात एकदा cursors तो स्थिती आणि प्रतिक्रिया लिहून:

तर @ID = @nID आणि @nDate = '01 / 01/2016 '

सुरू

sMasseges 'चालवा ऑपरेशन अशक्य. तारीख योग्य नाही '

शेवटी

तो ट्रिगर फक्त तयार करू शकत नाही, पण एक तर बंद उल्लेख आहे. अशा इच्छित हालचाल घडवून आणण्यासाठी हाताचा उपयोग करणे केवळ एक प्रोग्रामर करत एस क्यू एल सर्व्हर आदेश धारण करू शकता:

altertablePERSONdisabletriggerall - टेबल निर्माण सर्व ट्रिगर अक्षम करण्यासाठी, त्यानुसार, altertablePERSONenabletriggerall - समावेश आहे.

या मूलभूत एस क्यू एल सर्वात सामान्यतः वापरले आज्ञा, पण त्यांच्या संयोजन अतिशय वैविध्यपूर्ण असू शकते. एस क्यू एल - एक अतिशय लवचिक प्रोग्रामिंग भाषा आणि विकसक शक्यता जास्तीत जास्त देते.

निष्कर्ष

वरुन आम्ही फक्त मानू शकतो: प्रोग्रामिंग गंभीर: ला गुंतवू इच्छित ज्यांना आवश्यक एस क्यू एल भाषा कौशल्य. इंटरनेट आणि घरी डेटाबेसमध्ये केलेल्या सर्व ऑपरेशन हृदय lies. भविष्यात प्रोग्रामर, भाषा आदेश संख्या माहीत आहे का आवश्यक आहे ते फक्त असू शकते कारण, म्हणून बोलणे, संगणकावर संवाद साधण्यासाठी आहे.

अर्थात, तेथे उणीवा आहेत या जगात सर्वकाही म्हणून, पण ते फक्त गुणवत्तेशी आधी फिकट गुलाबी, जेणेकरून लहान आहेत. स्क्रिप्ट लिहिण्यासाठी सार्वत्रिक, आणि ज्ञान आहे आणि कोड अक्षरशः सर्व साइटना आधारे आहेत कारण सर्व एस क्यू एल प्रोग्रामिंग भाषा हेही जवळजवळ त्याच्या प्रकारची एकमेव आहे.

कारण, नंतर सर्व, तो शालेय अभ्यासक्रमात मध्ये ओळख होते एस क्यू एल bezogovorchno मुख्य फायदा म्हणजे, त्याच्या साधेपणा मानले जाऊ शकते. तो देखील एक अननुभवी प्रोग्रामर हाताळू शकते असल्याने, खरोखर भाषा पारंगत नाही.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 mr.birmiss.com. Theme powered by WordPress.