SQL धोखा शीट

SQL धोखा शीट पहचान छवि


इस गाइड में, आपको एक उपयोगी चीट शीट मिलेगी जो एसक्यूएल के अधिक सामान्यतः उपयोग किए जाने वाले कुछ तत्वों और यहां तक ​​कि कम आम के कुछ दस्तावेजों का दस्तावेज बनाती है। उम्मीद है, यह डेवलपर्स – शुरुआती और अनुभवी दोनों स्तरों में मदद करेगा – SQL भाषा की उनकी समझ में अधिक कुशल हो.

विकास के दौरान एक त्वरित संदर्भ के रूप में उपयोग करें, एक सीखने की सहायता, या यहां तक ​​कि इसे प्रिंट करें और इसे बाँध लें यदि आप पसंद करते हैं (जो भी काम करता है!).

लेकिन इससे पहले कि हम खुद को चीट शीट पर ले जाएं, उन डेवलपर्स के लिए जो एसक्यूएल से परिचित नहीं हो सकते हैं, चलो शुरू करते हैं …

SQL क्या है

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

यहां एक बुनियादी संबंधपरक डेटाबेस जैसा दिखता है। विशेष रूप से स्टोर ई-कॉमर्स की जानकारी, विशेष रूप से बिक्री पर उत्पादों, उपयोगकर्ताओं को जो उन्हें खरीदते हैं, और इन आदेशों के रिकॉर्ड जो इन 2 संस्थाओं को जोड़ते हैं, में यह उदाहरण है.

एक बुनियादी संबंधपरक डेटाबेस

SQL का उपयोग करते हुए, आप डेटाबेस के साथ क्वेरीज़ लिखकर बातचीत करने में सक्षम होते हैं, जिसे निष्पादित करते समय, कोई भी परिणाम जो इसके मानदंडों को पूरा करते हैं, वापस करते हैं.

यहाँ एक उदाहरण क्वेरी है:-

उपयोगकर्ताओं से चयन करें *;

इस SELECT स्टेटमेंट का उपयोग करके, क्वेरी उपयोगकर्ता के तालिका के सभी कॉलम के सभी डेटा का चयन करती है। यह फिर नीचे दिए गए डेटा को लौटाएगा, जिसे आमतौर पर परिणाम सेट कहा जाता है:-

उदाहरण तालिका

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

उपयोगकर्ताओं से पहले_नाम, अंतिम_नाम का चयन करें;

उदाहरण उपयोगकर्ताओं को कम स्तंभों के साथ तालिका

हम WHERE क्लॉज जोड़कर एक मानक चयन कथन में थोड़ी जटिलता जोड़ सकते हैं, जो आपको फ़िल्टर करने की अनुमति देता है कि क्या वापस आता है.

उत्पादों का चयन करें * जहाँ से stock_count है <= 10 ORDER BY stock_count ASC;

यह क्वेरी अपने परिणाम सेट में 10 से कम के स्टॉक मूल्य के साथ उत्पादों की तालिका से सभी डेटा लौटाएगी.

ORDER BY कीवर्ड के उपयोग का अर्थ है कि स्टॉक को स्टॉक_काउंट कॉलम, उच्चतम मानों का उपयोग करके आदेश दिया जाएगा.

उदाहरण उत्पाद तालिका

INSERT INTO स्टेटमेंट का उपयोग करके, हम एक तालिका में नया डेटा जोड़ सकते हैं। यहां उपयोगकर्ता तालिका में एक नया उपयोगकर्ता जोड़ने का एक मूल उदाहरण है:-

INSERT INTO उपयोगकर्ता (first_name, last_name, पता, ईमेल)
वाल्व ('परीक्षक', 'जस्टर', '123 नकली स्ट्रीट, शेफील्ड, यूनाइटेड किंगडम', '[ईमेल संरक्षित]');

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

नई पंक्ति के साथ उदाहरण तालिका

बेशक, ये उदाहरण केवल एक बहुत कम चयन को प्रदर्शित करते हैं कि SQL भाषा क्या सक्षम है.

SQL बनाम MySQL

आपने पहले MySQL के बारे में सुना होगा। यह महत्वपूर्ण है कि आप एसक्यूएल के साथ खुद को भ्रमित नहीं करते हैं, क्योंकि स्पष्ट अंतर है.

SQL बनाम MySQLएसक्यूएल है भाषा: हिन्दी. यह वाक्यविन्यास को रेखांकित करता है जो आपको रिलेशनल डेटाबेस को प्रबंधित करने वाले प्रश्नों को लिखने की अनुमति देता है। और कुछ नहीं.

माई एसक्यूएल इस बीच एक डेटाबेस है प्रणाली जो सर्वर पर चलता है। यह औजार SQL भाषा, आपको MySQL डेटाबेस को प्रबंधित करने के लिए इसके सिंटैक्स का उपयोग करके प्रश्न लिखने की अनुमति देती है.

MySQL के अलावा, अन्य सिस्टम हैं जो SQL को लागू करते हैं। अधिक लोकप्रिय लोगों में से कुछ में शामिल हैं:

  • PostgreSQL
  • SQLite
  • Oracle डाटाबेस
  • Microsoft SQL सर्वर

MySQL स्थापित करना

खिड़कियाँ

विंडोज पर MySQL स्थापित करने का अनुशंसित तरीका इंस्टॉलर का उपयोग करके है जिसे आप डाउनलोड कर सकते हैं MySQL की वेबसाइट.

MySQL विंडोज स्थापित करें

मैक ओ एस

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

MySQL मैक स्थापित करें

वैकल्पिक रूप से, यदि आप इस तरह के पैकेज प्रबंधकों का उपयोग करना पसंद करते हैं होमब्रू, आप MySQL को ऐसे स्थापित कर सकते हैं:

काढ़ा स्थापित करें

जब भी आपको पुराने MySQL संस्करण को 5.7 स्थापित करने की आवश्यकता होती है, जिसका उपयोग वेब पर आज भी व्यापक रूप से किया जाता है, आप कर सकते हैं:

काढ़ा स्थापित [ईमेल संरक्षित]

MySQL का उपयोग करना

MySQL के साथ अब आपके सिस्टम पर स्थापित किया गया है, एसक्यूएल प्रश्नों को लिखने के लिए जितनी जल्दी हो सके, उठना और चलना, यह अनुशंसा की जाती है कि आप अपने डेटाबेस का प्रबंधन करने के लिए एक एसक्यूएल प्रबंधन एप्लिकेशन का उपयोग करें और अधिक सरल, आसान प्रक्रिया।.

चुनने के लिए बहुत सारे ऐप हैं जिनमें से काफी हद तक वही काम किया जाता है, इसलिए यह आपकी स्वयं की व्यक्तिगत पसंद पर निर्भर करता है, जिस पर एक का उपयोग करना है:

  • MySQL कार्यक्षेत्र MySQL के मालिक Oracle द्वारा विकसित किया गया है.
  • HeidiSQL (अनुशंसित विंडोज) विंडोज के लिए एक स्वतंत्र, ओपन-सोर्स ऐप है। MacOS और Linux उपयोगकर्ताओं के लिए, वाइन पहली आवश्यकता के रूप में आवश्यक है.
  • phpMyAdmin एक बहुत लोकप्रिय विकल्प है जो वेब ब्राउज़र में संचालित होता है.
  • सीक्वल प्रो (अनुशंसित macOS) एक macOS का एकमात्र विकल्प है और हमारे पसंदीदा और स्पष्ट इंटरफ़ेस का उपयोग करने के लिए धन्यवाद.

जब आप अपने स्वयं के SQL प्रश्नों को लिखना शुरू करने के लिए तैयार हैं, तो अपना डेटाबेस बनाने में समय बिताने के बजाय, डमी डेटा आयात करने पर विचार करें.

MySQL वेबसाइट एक नंबर प्रदान करती है डमी डेटाबेस कि आप नि: शुल्क डाउनलोड कर सकते हैं और फिर अपने SQL ऐप में आयात कर सकते हैं.

डमी डेटाबेस MySQL

इनमें से हमारा पसंदीदा है विश्व डेटाबेस, जो के लिए SQL क्वेरी लिखने के अभ्यास के लिए कुछ दिलचस्प डेटा प्रदान करता है। यहां सेक्वल प्रो के भीतर अपने देश की तालिका का एक स्क्रीनशॉट है.

सीक्वल प्रो उदाहरण

यह उदाहरण क्वीन एलिजाबेथ द्वितीय के साथ सभी देशों को उनके राज्य के प्रमुख के रूप में देता है.

सीक्वल प्रो उदाहरण

जबकि यह सभी यूरोपीय देशों को उनकी राजधानी और इसकी आबादी के साथ 50 मिलियन से अधिक की आबादी के साथ लौटाता है.

सीक्वल प्रो उदाहरण

और यह अंतिम उन देशों में फ्रेंच बोलने वालों का औसत प्रतिशत देता है जहां फ्रांसीसी बोलने वालों की कुल संख्या 10% से अधिक है.

सीक्वल प्रो उदाहरण

प्रवंचक पत्रक

कीवर्ड

SQL कथनों, विवरणों में प्रयुक्त कीवर्ड का एक संग्रह, और जहां एक उदाहरण उपयुक्त है। अधिक उन्नत कीवर्ड में से कुछ में बाद में चीट शीट में अपना समर्पित अनुभाग है.

जहाँ MySQL का उल्लेख एक उदाहरण के बगल में किया गया है, इसका अर्थ है कि यह उदाहरण केवल MySQL डेटाबेस पर लागू है (किसी अन्य डेटाबेस सिस्टम के विपरीत).

एसक्यूएल कीवर्ड
कीवर्डविवरण
जोड़ेंएक मौजूदा तालिका में एक नया कॉलम जोड़ता है.

उदाहरण: New email_address ’नामक एक नया कॉलम named उपयोगकर्ताओं’ नामक तालिका में जोड़ता है.

उपयोगकर्ता को सक्षम करें
ADD email_address varchar (255);
ADD CONSTRAINTयह मौजूदा तालिका पर एक नया अवरोध बनाता है, जिसका उपयोग तालिका में किसी भी डेटा के नियमों को निर्दिष्ट करने के लिए किया जाता है.

उदाहरण: कॉलम ID और SURNAME पर 'उपयोगकर्ता' नाम का एक नया प्राथमिक कुंजी अवरोध जोड़ता है.

उपयोगकर्ता को सक्षम करें
ADD CONSTRAINT उपयोगकर्ता PRIMARY KEY (ID, SURNAME);
तालिका में परिवर्तनकिसी तालिका में कॉलम जोड़ता है, हटाता है या संपादित करता है। इसका उपयोग उपरोक्त के अनुसार एक तालिका में बाधाओं को जोड़ने और हटाने के लिए भी किया जा सकता है.

उदाहरण: एक नया बुलियन कॉलम जोड़ता है जिसे a स्वीकृत ’ool डील्स’ नामक तालिका में शामिल किया जाता है।.

पहले से संबंधित सौदे
ADD अनुमोदित बूलियन;

उदाहरण 2: Table सौदों की तालिका से the अनुमोदित ’कॉलम हटाता है

पहले से संबंधित सौदे
DROP COLUMN स्वीकृत;
बाद में रंगतालिका के स्तंभ का डेटा प्रकार बदलता है.

उदाहरण: 'उपयोगकर्ता की तालिका में, कॉलम' incept_date 'को' डेटाटाइम 'प्रकार में बनाएँ.

उपयोगकर्ता को सक्षम करें
ALTER COLUMN incept_date डेटाइम;
सबयदि सबकुछ मानों पास की स्थिति को पूरा करता है, तो सही है.

उदाहरण: मानव संसाधन विभाग (आईडी 2) में सबसे अधिक कार्यों के साथ उपयोगकर्ता की तुलना में अधिक कार्यों के साथ उपयोगकर्ताओं को लौटाता है

फर्स्ट_नाम, सरनेम, टास्क_नो का चयन करें
उपयोगकर्ताओं से
कहां कार्य_ कोई> उपयोगकर्ता (उपयोगकर्ता से कार्य का चयन करें जहां विभाग_ 2 =);
तथाWHERE क्लॉज़ के भीतर अलग-अलग स्थितियों में शामिल होने के लिए उपयोग किया जाता है.

उदाहरण: लंदन, यूनाइटेड किंगडम में स्थित कार्यक्रम लौटाता है

चुनें * घटनाओं से
कहाँ host_country = 'यूनाइटेड किंगडम' और host_city = 'London';
कोई भीयदि कोई भी उप-मान दिए गए शर्त को पूरा करता है, तो सही है.

उदाहरण: उत्पादों की तालिका से उत्पाद लौटाता है जिसे ऑर्डर मिले हैं - ऑर्डर टेबल में संग्रहीत - 5 से अधिक की मात्रा के साथ.

नाम का चयन करें
उत्पादों से
कहाँ productId = कोई (SELECT productId आदेशों से जहां मात्रा> 5);
जैसाएक तालिका या स्तंभ का नाम एक उपनाम मान के साथ रखता है जो केवल क्वेरी की अवधि के लिए मौजूद होता है.

उदाहरण: एलियास उत्तर_स्टे_सुअर_सब्सक्रिप्शन कॉलम

उत्तर ne_east_user_subscapes का चयन करें जैसे कि ne_subs
उपयोगकर्ताओं से
जहां ne_subs> 5;
एएससीआरोही क्रम में डेटा वापस करने के लिए ORDER BY के साथ प्रयोग किया जाता है.

उदाहरण: सेब, केले, आड़ू, मूली

के बीचदिए गए रेंज के भीतर मानों का चयन करता है.

उदाहरण 1: 100 और 150 के बीच एक मात्रा के साथ स्टॉक का चयन करता है.

स्टॉक से * सेलेक्ट करें
कहाँ मात्रा 100 और 150 के बीच;

उदाहरण 2: 100 और 150 के बीच नहीं मात्रा के साथ स्टॉक का चयन करता है। वैकल्पिक रूप से, यहां दिए गए कीवर्ड का उपयोग करके तर्क को उलट दिया जाता है और दी गई सीमा के मानों का चयन करता है.

स्टॉक से * सेलेक्ट करें
जहां मात्रा 100 और 150 के बीच नहीं है;
मामलाशर्तों के आधार पर क्वेरी आउटपुट बदलें.

उदाहरण: उपयोगकर्ता और उनके सदस्यताएँ लौटाता है, साथ ही गतिविधि_लेवल नामक एक नए कॉलम के साथ सदस्यता की संख्या के आधार पर निर्णय लेता है.

First_name, उपनाम, सदस्यताएँ चुनें
कब से सदस्यताएँ> 10 'बहुत सक्रिय'
जब मात्रा 3 और 10 'सक्रिय'
ELSE 'निष्क्रिय'
END AS activity_levels
उपयोगकर्ताओं से;
चेकएक मान जोड़ता है जो उस मान को सीमित करता है जिसे एक कॉलम में जोड़ा जा सकता है.

उदाहरण 1 (MySQL): यह सुनिश्चित करता है कि उपयोगकर्ता तालिका में जोड़ा गया कोई भी उपयोगकर्ता 18 या अधिक है.

बनाएँ उपयोगकर्ताओं ()
First_name varchar (255),
उम्र int,
चेक (आयु> = 18)
);

उदाहरण 2 (MySQL): तालिका बनाए जाने के बाद एक चेक जोड़ता है.

उपयोगकर्ता को सक्षम करें
ADD CHECK (आयु> = 18);
DATABASE बनाएंएक नया डेटाबेस बनाता है.

उदाहरण: Et वेबसाइटसेटअप ’नामक एक नया डेटाबेस बनाता है.

DATEABASE वेबसाइटसेट बनाएं;
तालिका बनाएंएक नई तालिका बनाता है .

उदाहरण: New वेबसाइटसेटअप ’डेटाबेस में’ उपयोगकर्ताओं ’नामक एक नई तालिका बनाता है.

बनाएँ उपयोगकर्ताओं (
मैंने नहीं किया,
First_name varchar (255),
सरनेम वर्चर (255),
पता varchar (255),
contact_number int
);
चूकएक कॉलम के लिए एक डिफ़ॉल्ट मान सेट करता है;

उदाहरण 1 (MySQL): ऐसे उत्पाद नामक एक नई तालिका बनाता है जिसमें Name प्लेसहोल्डर नाम ’के डिफ़ॉल्ट मान के साथ एक नाम स्तंभ और आज की तारीख के डिफ़ॉल्ट मूल्य के साथ एक उपलब्ध_फ्रॉम कॉलम होता है।.

निर्माण उत्पादों (
मैंने नहीं किया,
नाम varchar (255) DEFAULT 'प्लेसहोल्डर नाम',
उपलब्ध_फ्रॉम डेट डिफाल्ट गेटडेट ()
);

उदाहरण 2 (MySQL): ऊपर के समान, लेकिन मौजूदा तालिका का संपादन.

अन्य टेबल उत्पादों
उपनाम नाम 'प्लेसहोल्डर नाम' सेट करें,
ALTER उपलब्ध_फ्रॉम सेट डिफॉल्ट गेटडेट ();
हटाएँतालिका से डेटा हटाएं.

उदाहरण: 674 के उपयोगकर्ता_id के साथ एक उपयोगकर्ता को निकालता है.

उपयोगकर्ताओं से DELETE करें जहां उपयोगकर्ता user_id = 674;
DESCअवरोही क्रम में डेटा को वापस करने के लिए ORDER BY के साथ प्रयोग किया जाता है.

उदाहरण: मूली, आड़ू, केले, सेब

ड्रॉप रंगतालिका से स्तंभ हटाता है.

उदाहरण: उपयोगकर्ता तालिका से first_name कॉलम निकालता है.

उपयोगकर्ता को सक्षम करें
DROP COLUMN पहले_नाम
ड्रॉपडाउनपूरे डेटाबेस को हटाता है.

उदाहरण: Et वेबसाइटसेटअप ’नामक डेटाबेस को हटाता है.

DROP डेटाबेस वेबसाइट;
DROP DEFAULTस्तंभ के लिए एक डिफ़ॉल्ट मान निकालता है.

उदाहरण (MySQL): Table उत्पादों की तालिका में ’नाम’ कॉलम से डिफ़ॉल्ट मान निकालता है.

अन्य टेबल उत्पादों
इसके बाद का नाम DROP DEFAULT;
ड्रॉप तालिकाडेटाबेस से तालिका हटाता है.

उदाहरण: उपयोगकर्ता तालिका निकालता है.

ड्रॉप टेबल उपयोगकर्ता;
मौजूदउपनगर के भीतर किसी भी रिकॉर्ड के अस्तित्व के लिए जाँच करता है, यदि एक या अधिक रिकॉर्ड लौटाए जाते हैं तो यह सच है.

उदाहरण: 10 से कम के सौदे के प्रतिशत के साथ किसी भी डीलरशिप को सूचीबद्ध करता है.

डीलरशिप_नाम का चयन करें
डीलरशिप से
कहां से (सेलेक्ट सौदा_नाम से संबंधित है, जहां डीलरशिप_ड = डील्स। डीपिलशिप_आईडी और फाइनेंशियल इंप्रेशन) < 10);
सेनिर्दिष्ट करता है कि किस तालिका से डेटा का चयन करना या हटाना है.

उदाहरण: उपयोगकर्ता तालिका से डेटा का चयन करता है.

क्षेत्र का चयन करें
क्षेत्र_वासियों से
जहां से उत्पादों का चयन करें (उत्पादों से उत्पाद का नाम चुनें, जहां area_manager_id = Deal.area_manager_id और मूल्य है < 20);
मेंकई या स्थितियों के लिए एक शॉर्टहैंड के रूप में WHERE क्लॉज़ के साथ उपयोग किया जाता है.

इसलिए इसके बजाय:-

उपयोगकर्ताओं से चुनें *
जहां देश = 'यूएसए' या देश = 'यूनाइटेड किंगडम' या देश = 'रूस' या देश = 'ऑस्ट्रेलिया';

आप उपयोग कर सकते हैं:-

उपयोगकर्ताओं से चुनें *
जहां देश में ('यूएसए', 'यूनाइटेड किंगडम', 'रूस', 'ऑस्ट्रेलिया');
में डालेंतालिका में नई पंक्तियाँ जोड़ें.

उदाहरण: एक नया वाहन जोड़ता है.

INSERT INTO कारों (बनाओ, मॉडल, माइलेज, वर्ष)
वाल्व ('ऑडी', 'ए 3', 30000, 2016);
शून्य हैरिक्त (NULL) मानों के लिए परीक्षण.

उदाहरण: उन उपयोगकर्ताओं को लौटाता है जिन्हें संपर्क नंबर नहीं दिया गया है.

उपयोगकर्ताओं से चुनें *
जहां संपर्क_नंबर है;
निरर्थक नहीं हैNULL का उलटा। खाली / NULL के लिए मानों के लिए परीक्षण.
पसंदयदि ऑपरेंड वैल्यू एक पैटर्न से मेल खाता है तो यह सही है.

उदाहरण: यदि उपयोगकर्ता का पहला_नाम ’पुत्र’ के साथ समाप्त होता है, तो सही है.

उपयोगकर्ताओं से चुनें *
जहां पहले_नाम '% बेटा' पसंद है;
नहींयदि कोई रिकॉर्ड शर्त को पूरा नहीं करता है तो सही है.

उदाहरण: यदि उपयोगकर्ता का पहला_नाम ‘पुत्र’ के साथ समाप्त नहीं होता है तो यह सही है.

उपयोगकर्ताओं से चुनें *
जहां पहले_नाम '% बेटा' पसंद नहीं है;
याजब शर्त सही हो तो डेटा को शामिल करने के लिए WHERE के साथ प्रयोग किया जाता है.

उदाहरण: उन उपयोगकर्ताओं को लौटाता है जो शेफ़ील्ड या मैनचेस्टर में रहते हैं.

उपयोगकर्ताओं से चुनें *
कहाँ शहर = 'शेफ़ील्ड' या 'मैनचेस्टर';
द्वारा आदेशASC या DESC कीवर्ड के उपयोग के माध्यम से आरोही (डिफ़ॉल्ट) या अवरोही क्रम में परिणाम डेटा को सॉर्ट करने के लिए उपयोग किया जाता है.

उदाहरण: वर्णमाला क्रम में देशों को लौटाता है.

देशों से * का चयन करें
नाम से आदेश;
ROWNUMउन परिणामों को लौटाता है जहाँ पंक्ति संख्या पास की स्थिति से मिलती है.

उदाहरण: देशों की तालिका से शीर्ष 10 देशों को लौटाता है.

देशों से * का चयन करें
जहां डाउनलोड करें <= 10;
चुनते हैंडेटाबेस से डेटा का चयन करने के लिए उपयोग किया जाता है, जिसे फिर एक परिणाम सेट में वापस किया जाता है.

उदाहरण 1: सभी उपयोगकर्ताओं से सभी कॉलम का चयन करता है.

उपयोगकर्ताओं से चयन करें *;

उदाहरण 2: सभी users.xx से first_name और उपनाम कॉलम का चयन करता है

उपयोगकर्ताओं से प्रथम नाम, उपनाम चुनें;
DISTINCT का चयन करेंडुप्लिकेट मानों को छोड़कर चयन के रूप में नाम शामिल हैं.

उदाहरण: उपयोगकर्ता तालिका से डेटा का उपयोग करके एक बैकअप तालिका बनाता है.

का चयन करें * उपयोगकर्ताओं को वापस ले जाएँ 2020
उपयोगकर्ताओं से;
इन्टो का चयन करेंएक तालिका से डेटा की प्रतिलिपि बनाता है और इसे दूसरे में सम्मिलित करता है.

उदाहरण: किसी भी डुप्लिकेट मान (जो अत्यधिक संभावना होगी) को हटाकर, सभी देशों को उपयोगकर्ता तालिका से लौटाता है

उपयोगकर्ताओं से चयनित DISTINCT देश;
शीर्ष का चयन करेंआपको एक तालिका से लौटने के लिए रिकॉर्ड की एक निर्धारित संख्या वापस करने की अनुमति देता है.

उदाहरण: कारों की तालिका से शीर्ष 3 कारों को लौटाता है.

चुनें शीर्ष 3 * कारों से;
सेटतालिका में मौजूदा डेटा को अपडेट करने के लिए UPDATE के साथ उपयोग किया जाता है.

उदाहरण: ऑर्डर तालिका में 642 की आईडी के साथ एक ऑर्डर के लिए मूल्य और मात्रा मान अपडेट करता है.

अद्यतन आदेश
सेट मूल्य = 19.49, मात्रा = 2
जहां आईडी = 642;
कुछकिसी भी तरह की पहचान.
ऊपरतालिका से रिकॉर्ड का एक सेट वापस करने के लिए चयन के साथ प्रयोग किया जाता है.

उदाहरण: उपयोगकर्ता तालिका से शीर्ष 5 उपयोगकर्ताओं को लौटाता है.

शीर्ष 5 का चयन करें * उपयोगकर्ताओं से;
ट्रिब्यूट टेबलDROP के समान, लेकिन तालिका और उसके डेटा को हटाने के बजाय, यह केवल डेटा को हटाता है.

उदाहरण: सत्र तालिका को खाली करता है, लेकिन तालिका को ही बरकरार रखता है.

ट्रिब्यूट टेबल सत्र;
यूनिअनपरिणामों को 2 या अधिक चयनित कथनों से संयोजित करता है और केवल भिन्न मान लौटाता है.

उदाहरण: घटनाओं और ग्राहकों की तालिकाओं से शहरों को लौटाता है.

शहर से घटनाओं का चयन करें
यूनिअन
ग्राहकों से शहर का चयन करें;
यूनिअन ऑलUNION के समान, लेकिन इसमें डुप्लिकेट मान शामिल हैं.
अद्वितीययह बाधा सुनिश्चित करती है कि एक कॉलम में सभी मान अद्वितीय हैं.

उदाहरण 1 (MySQL): नए उपयोगकर्ता तालिका बनाते समय आईडी कॉलम में एक अद्वितीय बाधा जोड़ता है.

बनाएँ उपयोगकर्ताओं ()
आईडी इंट नॉट,
नाम varchar (255) नहीं पूर्ण,
एक अलग पहचान)
);

उदाहरण 2 (MySQL): एक मौजूदा बाधा को जोड़ने के लिए एक मौजूदा कॉलम को बदल देता है.

उपयोगकर्ता को सक्षम करें
ADD UNIQUE (id);
अपडेट करेंकिसी तालिका में मौजूदा डेटा को अद्यतन करता है.

उदाहरण: कारों की तालिका में 45 की आईडी वाले वाहन के लिए माइलेज और सेवा के मूल्यों को अपडेट करता है.

अद्यतन कारों
SET का माइलेज = 23500, सर्विसड्यू = 0
जहां आईडी = 45;
मानएक तालिका में नए मूल्यों को जोड़ने के लिए INSERT INTO कीवर्ड के साथ प्रयोग किया जाता है.

उदाहरण: कारों की मेज पर एक नई कार जोड़ता है.

INSERT INTO कारों (नाम, मॉडल, वर्ष)
VALUES ('Ford', 'Fiesta', 2010);
कहाँ पेफ़िल्टर के परिणाम में केवल वही डेटा शामिल होता है जो दी गई शर्त को पूरा करता है.

उदाहरण: 1 से अधिक आइटम की मात्रा के साथ आदेश देता है.

* से चुनें आदेश
जहां मात्रा> 1;

टिप्पणियाँ

टिप्पणियां आपको अपने एसक्यूएल बयानों के अनुभागों को समझाने या कोड टिप्पणी करने और इसके निष्पादन को रोकने की अनुमति देती हैं.

SQL में, 2 प्रकार की टिप्पणियां हैं, सिंगल लाइन और मल्टीलाइन.

सिंगल लाइन टिप्पणियाँ

सिंगल लाइन कमेंट्स के साथ शुरू - पंक्ति के अंत में इन 2 वर्णों के बाद किसी भी पाठ को अनदेखा किया जाएगा.

-- मेरा चयन क्वेरी
उपयोगकर्ताओं से चयन करें *;

बहुभाषी टिप्पणियाँ

बहुस्तरीय टिप्पणियां / * से शुरू होती हैं और * / के साथ समाप्त होती हैं। वे कई रेखाओं के पार तब तक खिंचते हैं जब तक कि समापन वर्ण नहीं मिल जाते.

/ *
यह मेरी चुनिंदा क्वेरी है.
यह उपयोगकर्ता तालिका से डेटा की सभी पंक्तियों को पकड़ लेता है
* /
उपयोगकर्ताओं से चयन करें *;

/ *
यह एक और चुनिंदा प्रश्न है, जिसे मैं अभी तक निष्पादित नहीं करना चाहता

चयन * कार्यों से;
* /

MySQL डेटा प्रकार

एक नई तालिका बनाते समय या किसी मौजूदा को संपादित करते समय, आपको उस प्रकार के डेटा को निर्दिष्ट करना होगा जिसे प्रत्येक स्तंभ स्वीकार करता है.

नीचे दिए गए उदाहरण में, आईडी कॉलम में दिया गया डेटा एक इंट होना चाहिए, जबकि First_name कॉलम में अधिकतम 255 वर्णों के साथ VARCHAR डेटा प्रकार है।.

बनाएँ उपयोगकर्ताओं ()
मैंने नहीं किया,
First_name varchar (255)
);

स्ट्रिंग डेटा प्रकार

स्ट्रिंग डेटा प्रकार
डाटा प्रकारविवरण
CHAR (आकार)फिक्स्ड लेंथ स्ट्रिंग जिसमें अक्षर, संख्या और विशेष अक्षर हो सकते हैं। आकार पैरामीटर अधिकतम स्ट्रिंग लंबाई निर्धारित करता है, 0 से - 1 के डिफ़ॉल्ट के साथ 255.
VARCHAR (आकार)चर लंबाई स्ट्रिंग CHAR () के समान है, लेकिन अधिकतम स्ट्रिंग लंबाई सीमा 0 से 65535 तक है.
द्विआधारी (आकार)CHAR के समान () लेकिन बाइनरी बाइट स्ट्रिंग्स को संग्रहीत करता है.
VARBINARY (आकार)VARCHAR () के समान लेकिन बाइनरी बाइट स्ट्रिंग्स के लिए.
TINYBLOB255 बाइट्स की अधिकतम लंबाई के साथ बाइनरी बड़े ऑब्जेक्ट्स (BLOB) को धारण करता है.
TINYTEXTअधिकतम 255 वर्णों वाली एक स्ट्रिंग पकड़ता है। इसके बजाय VARCHAR () का उपयोग करें, क्योंकि यह बहुत तेज़ी से आया है.
शब्दों का आकर)अधिकतम 65535 बाइट्स के साथ एक स्ट्रिंग रखती है। फिर, VARCHAR का उपयोग करने के लिए बेहतर ().
ब्लॉब (आकार)65535 बाइट्स की अधिकतम लंबाई के साथ बाइनरी बड़े ऑब्जेक्ट्स (BLOBs) को धारण करता है.
MEDIUMTEXT16,777,215 वर्णों की अधिकतम लंबाई के साथ एक तार जोड़ता है.
MEDIUMBLOB16,777,215 बाइट्स की अधिकतम लंबाई के साथ बाइनरी लार्ज ऑब्जेक्ट्स (BLOBs) को रखता है.
LongText4,294,967,295 वर्णों की अधिकतम लंबाई के साथ एक स्ट्रिंग धारण करता है.
LONGBLOB4,294,967,295 बाइट्स की अधिकतम लंबाई के साथ बाइनरी बड़े ऑब्जेक्ट्स (BLOBs) धारण करता है.
ENUM (ए, बी, सी, आदि…)एक स्ट्रिंग ऑब्जेक्ट जिसमें केवल एक मान होता है, जिसे उन मानों की सूची से चुना जाता है जिन्हें आप अधिकतम 65535 मानों तक परिभाषित करते हैं। यदि कोई मान जोड़ा गया है जो इस सूची में नहीं है, तो इसके बजाय इसे रिक्त मान से बदल दिया गया है। ENUM इस संबंध में HTML रेडियो बॉक्स के समान होने के बारे में सोचें.

रचनात्मक टेबल (रंग ENUM (, लाल ’,, हरा’, ’नीला’, ‘पीला’, ’बैंगनी’));
सेट (ए, बी, सी, आदि…)एक स्ट्रिंग ऑब्जेक्ट जिसमें 0 या अधिक मान हो सकते हैं, जिसे उन मानों की सूची से चुना जाता है जिन्हें आप अधिकतम 64 मानों तक परिभाषित करते हैं। सेट के बारे में सोचें इस संबंध में HTML चेकबॉक्स के समान है.

संख्यात्मक डेटा प्रकार

स्ट्रिंग डेटा प्रकार
डाटा प्रकारविवरण
बीआईटी (आकार)1. एक डिफ़ॉल्ट के साथ एक बिट-वैल्यू टाइप। एक मान में बिट्स की अनुमत संख्या आकार पैरामीटर के माध्यम से सेट की जाती है, जो मानों को 1 से 64 तक पकड़ सकता है।.
TINYINT (आकार)-128-127 की एक हस्ताक्षरित सीमा और 0 से 255 की अहस्ताक्षरित सीमा के साथ एक बहुत छोटा पूर्णांक। यहां, आकार पैरामीटर अधिकतम अनुमत प्रदर्शन चौड़ाई निर्दिष्ट करता है, जो कि 255 है.
BOOLअनिवार्य रूप से 1.IN के आकार वाले कॉलम को TINYINT पर सेट करने का एक त्वरित तरीका गलत माना जाता है, जबकि 1 को सच माना जाता है.
बूलियनBOOL के रूप में भी.
SMALLINT (आकार)-32768 से 32767 की हस्ताक्षरित सीमा के साथ एक छोटा पूर्णांक, और 0 से 65535 तक एक अहस्ताक्षरित श्रेणी। यहां, आकार पैरामीटर अधिकतम अनुमत प्रदर्शन चौड़ाई निर्दिष्ट करता है, जो 255 है.
MEDIUMINT (आकार)-8388608 से 8388607 की एक हस्ताक्षरित सीमा के साथ एक मध्यम पूर्णांक, और 0 से 16777215 तक अहस्ताक्षरित श्रेणी। यहां, आकार पैरामीटर अधिकतम अनुमत प्रदर्शन चौड़ाई निर्दिष्ट करता है, जो 255 है.
INT (आकार)एक मध्यम पूर्णांक -2147483648 से 2147483647, और 0 से 4294967295 तक एक अहस्ताक्षरित सीमा के साथ एक पूर्णांक है। यहां, आकार पैरामीटर अधिकतम अनुमत प्रदर्शन चौड़ाई निर्दिष्ट करता है, जो 255 है.
पूर्णांक (आकार)INT के रूप में ही.
BIGINT (आकार)-9223372036854775808 से 9223372036854775807, और 0 से 18446744073709551615 पर एक अहस्ताक्षरित सीमा के साथ एक मध्यम पूर्णांक। यहां आकार अधिकतम अनुमत प्रदर्शन चौड़ाई निर्दिष्ट करता है, जो 255 है.
फ्लोट (पी)एक अस्थायी बिंदु संख्या मान। यदि परिशुद्धता (p) पैरामीटर 0 से 24 के बीच है, तो डेटा प्रकार FLOAT () पर सेट है, जबकि इसके 25 से 53 तक, डेटा प्रकार DOUBLE () पर सेट है। यह व्यवहार मूल्यों के भंडारण को अधिक कुशल बनाने के लिए है.
डबल (आकार, डी)एक फ्लोटिंग पॉइंट संख्या मान जहाँ कुल अंक आकार पैरामीटर द्वारा निर्धारित किए जाते हैं, और दशमलव बिंदु के बाद अंकों की संख्या डी पैरामीटर में सेट की जाती है.
DECIMAL (आकार, d)एक सटीक निश्चित बिंदु संख्या जहां अंकों की कुल संख्या आकार मापदंडों द्वारा निर्धारित की जाती है, और दशमलव बिंदु के बाद अंकों की कुल संख्या डी पैरामीटर द्वारा निर्धारित की जाती है.

आकार के लिए, अधिकतम संख्या 65 है और डिफ़ॉल्ट 10 है, जबकि d के लिए, अधिकतम संख्या 30 है और डिफ़ॉल्ट 10 है.

DEC (आकार, d)DECIMAL के रूप में भी.

दिनांक / समय डेटा प्रकार

दिनांक / समय डेटा प्रकार
डाटा प्रकारविवरण
तारीखYYYY-MM-DD प्रारूप में एक सरल तारीख, in 1000-01-01 से Y 9999-1231 ‘तक समर्थित सीमा के साथ.
DATETIME (एफएसपी)YYYY-MM-DD hh: mm: ss प्रारूप में दिनांकित समय, Y 1000-01-01 से 00:00:00 तक '9999-12-31 23:59:59' के लिए समर्थित सीमा के साथ।.

कॉलम परिभाषा में DEFAULT और ON UPDATE जोड़कर, यह स्वचालित रूप से वर्तमान दिनांक / समय पर सेट हो जाता है.

TIMESTAMP (एफएसपी)एक यूनिक्स टाइमस्टैम्प, जो यूनिक्स युग (‘1970-01-01 00:00:00 'यूटीसी) के बाद से सेकंड की संख्या के सापेक्ष एक मूल्य है। इसमें -01 1970-01-01 से 00:00:01 'UTC से' 2038-01-09 03:14:07 'UTC की समर्थित सीमा है.

स्तंभ परिभाषा में DEFAULT CURRENT_TIMESTAMP और UPDATE CURRENT TIMESTAMP जोड़कर, यह स्वचालित रूप से वर्तमान दिनांक / समय पर सेट हो जाता है.

समय (एफएसपी)Hh: mm: ss प्रारूप में mm -838: 59: 59: 59 'से: 838: 59: 59' तक एक समय।.
सालएक वर्ष, 01 1901 'से' 2155 'की समर्थित सीमा के साथ.

ऑपरेटर्स

अंकगणितीय आपरेटर

अंकगणितीय आपरेटर
ऑपरेटरविवरण
+जोड़ना
-घटाना
*गुणा
/फूट डालो
%modulo

बिटवाइज ऑपरेटर

बिटवाइज ऑपरेटर्स
ऑपरेटरविवरण
औरबिटवाइज़ और
|बिटवाइस OR
^बिटवाइज़ एक्सक्लूसिव OR

तुलना संचालक

तुलना संचालक
ऑपरेटरविवरण
=के बराबर
>से अधिक
<से कम
> =इससे बड़ा या इसके बराबर
<=से कम या बराबर
<>बराबर नही है

यौगिक संचालक

यौगिक संचालक
ऑपरेटरविवरण
+=बराबर जोड़ें
-=घटाना बराबर
* =गुणा बराबर
/ =बंटवारा बराबर
% =मोदुलो बराबर
और =बिटवाइज़ और बराबरी
^ - =बिटवाइज़ अनन्य समतुल्य
| * =बिटवाइज या बराबर

कार्य

स्ट्रिंग फ़ंक्शंस

स्ट्रिंग फ़ंक्शंस
नामविवरण
ASCIIकिसी विशिष्ट वर्ण के लिए बराबर ASCII मान लौटाता है.
CHAR_LENGTHएक स्ट्रिंग की वर्ण लंबाई देता है.
CHARACTER_LENGTHCHAR_LENGTH के समान.
concatन्यूनतम 2 के साथ, भाव जोड़ता है.
CONCAT_WSअभिव्यक्तियों को एक साथ जोड़ता है, लेकिन प्रत्येक मूल्य के बीच एक विभाजक के साथ.
खेतमूल्यों की सूची के भीतर एक मूल्य की स्थिति के सापेक्ष एक सूचकांक मूल्य देता है.
सेट में खोजोस्ट्रिंग की सूची में स्ट्रिंग की स्थिति देता है.
प्रारूपजब कोई संख्या पास होती है, तो वह संख्या कॉमा को शामिल करने के लिए स्वरूपित होती है (जैसे 3,400,000).
सम्मिलित करेंआपको एक निश्चित बिंदु पर, एक निश्चित संख्या में वर्णों के लिए एक स्ट्रिंग सम्मिलित करने की अनुमति देता है.
INSTRपहली बार एक स्ट्रिंग की स्थिति दूसरे के भीतर दिखाई देती है.
LCASEएक स्ट्रिंग को लोअरकेस में बदलें.
बाएंबाईं ओर से शुरू करते हुए, एक स्ट्रिंग से दिए गए वर्णों की संख्या निकालें और उन्हें दूसरे के रूप में वापस करें.
लंबाईएक स्ट्रिंग की लंबाई देता है, लेकिन बाइट्स में.
ढूँढेंएक स्ट्रिंग के दूसरे होने की पहली घटना लौटाता है,
कमLCASE के रूप में भी.
LPADबायां पैड एक स्ट्रिंग को दूसरे के साथ, एक विशिष्ट लंबाई तक.
LTRIMदिए गए स्ट्रिंग से किसी भी अग्रणी स्थान को निकालें.
मध्यकिसी भी स्थिति से शुरू करते हुए, एक स्ट्रिंग को दूसरे से निकालता है.
स्थानपहली बार एक विकल्प की स्थिति दूसरे के भीतर प्रकट होती है.
दोहराएंआपको एक स्ट्रिंग दोहराने की अनुमति देता है
बदलने केआपको एक स्ट्रिंग के भीतर किसी विकल्प के किसी भी इंस्टेंसेस को बदलने के लिए अनुमति देता है, एक नए विकल्प के साथ.
उलटनास्ट्रिंग को उलट देता है.
सहीदाईं ओर से शुरू करते हुए, एक स्ट्रिंग से दिए गए वर्णों की संख्या निकालें और उन्हें दूसरे के रूप में वापस करें.
RPADदायां पैड एक स्ट्रिंग को दूसरे के साथ, एक विशिष्ट लंबाई तक.
RTRIMदिए गए स्ट्रिंग से किसी भी अनुगामी रिक्त स्थान को निकालता है.
अंतरिक्षआपके द्वारा पास की गई राशि के बराबर रिक्त स्थान से भरा स्ट्रिंग लौटाता है.
strcmpअंतर के लिए 2 तारों की तुलना करता है
substrकिसी भी स्थिति से शुरू करते हुए, दूसरे से एक विकल्प निकालता है.
SUBSTRINGSUBSTR के रूप में भी
SUBSTRING_INDEXपारित स्ट्रिंग से पहले एक स्ट्रिंग से एक सबस्ट्रिंग लौटाता है पाया गया समय की संख्या पारित संख्या के बराबर होती है.
TRIMदिए गए स्ट्रिंग से ट्रेलिंग और अग्रणी स्थान को हटाता है। उसी तरह जैसे कि आप LTRIM और RTRIM को एक साथ चलाना चाहते थे.
UCASEएक स्ट्रिंग को अपरकेस में बदलें.
ऊपरीUCASE के रूप में भी.

संख्यात्मक कार्य

संख्यात्मक कार्य
नामविवरण
एबीएसदी गई संख्या का निरपेक्ष मान लौटाता है.
ACOSदिए गए नंबर के आर्क कोसाइन को लौटाता है.
जैसे कीदिए गए नंबर के आर्क साइन को लौटाता है.
एक भूरादिए गए नंबरों में से एक या 2 के चाप स्पर्शज्या को लौटाता है.
ATAN22 दिए गए नंबरों के चाप स्पर्शक को वापस करें.
एवीजीदिए गए अभिव्यक्ति का औसत मूल्य लौटाता है.
CEILकिसी दिए गए दशमलव बिंदु संख्या से निकटतम पूर्ण संख्या (पूर्णांक) लौटाता है.
अधिकतम सीमाCEIL के रूप में भी.
भंडार नियंत्रककिसी दिए गए नंबर का कोसाइन लौटाता है.
COTकिसी दिए गए नंबर का संयोग वापस करता है.
COUNTउन अभिलेखों की मात्रा लौटाता है जो किसी SELECT क्वेरी द्वारा वापस किए जाते हैं.
डिग्रीएक रेडियन मान को डिग्री में परिवर्तित करता है.
DIVआपको पूर्णांकों को विभाजित करने की अनुमति देता है.
ऍक्स्पदिए गए नंबर की शक्ति पर ई वापस करता है.
मंज़िलकिसी दिए गए दशमलव बिंदु संख्या से निकटतम पूर्ण संख्या (पूर्णांक) लौटाता है.
महानतमतर्कों की सूची में उच्चतम मूल्य लौटाता है.
कम से कमतर्कों की सूची में सबसे छोटा मान लौटाता है.
एल.एन.दिए गए नंबर का प्राकृतिक लघुगणक लौटाता है
लॉगदिए गए नंबर के प्राकृतिक लॉगरिदम, या दिए गए नंबर के लॉगरिथम को दिए गए आधार पर लौटाता है
LOG10लॉग के समान है, लेकिन आधार 10 के लिए.
LOG2लॉग के समान है, लेकिन आधार 2 के लिए.
मैक्समूल्यों के एक सेट से उच्चतम मूल्य देता है.
मिनमूल्यों के एक सेट से सबसे कम मूल्य लौटाता है.
एमओडीदी गई शेष संख्या को अन्य दी गई संख्या से विभाजित करके लौटाता है.
पीआईपीआई लौटता है.
पाउदी गई संख्या के मूल्य को दूसरे दिए गए संख्या की शक्ति तक लौटाता है.
शक्तिPOW के समान.
RADIANSरेडियन के लिए एक डिग्री मूल्य प्रदान करता है.
रैंडएक यादृच्छिक संख्या देता है.
गोलदी गई संख्या को दशमलव स्थानों की दी गई राशि पर गोल करें.
संकेतदिए गए नंबर का चिन्ह देता है.
SINदिए गए नंबर की साइन लौटाता है.
SQRTदिए गए नंबर का वर्गमूल देता है.
योगसंयुक्त मानों के दिए गए सेट का मान लौटाता है.
टैनदिए गए नंबर की स्पर्शरेखा लौटाता है.
TRUNCATEदशमलव स्थानों की दी गई संख्या पर छंटनी की गई संख्या देता है.

दिनांक कार्य

दिनांक कार्य
नामविवरण
ADDDATEएक तिथि अंतराल जोड़ें (जैसे: 10 DAY) एक तिथि (जैसे: 20/01/20) और परिणाम लौटाएं (उदाहरण: 20/01/30).
समय जोड़ेंएक समय अंतराल (जैसे: 02:00) को एक समय या डेटाइम (05:00) में जोड़ें और परिणाम (07:00) पर वापस लौटें.
CURDATEवर्तमान तिथि प्राप्त करें.
आज की तारीखCURDATE के समान.
वर्तमान समयवर्तमान समय प्राप्त करें.
CURRENT_TIMESTAMPवर्तमान तिथि और समय प्राप्त करें.
CURTIMECURRENT_TIME के ​​समान.
तारीखडेटाइम एक्सप्रेशन से दिनांक निकालता है.
DateDiff2 दी गई तारीखों के बीच दिनों की संख्या लौटाता है.
DATE_ADDADDDATE के समान.
डेटा प्रारूपदी गई परिपाटी के लिए तिथि निर्धारित करता है.
DATE_SUBदिनांक अंतराल (जैसे: 10 DAY) को किसी तिथि में घटाएं (उदाहरण: 20/01/20) और परिणाम लौटाएं (उदाहरण: 20/01/10).
दिनदी गई तारीख के लिए दिन लौटाता है.
DAYNAMEदिए गए दिनांक के लिए कार्यदिवस का नाम लौटाता है.
सप्ताह के दिनदिए गए दिनांक के लिए कार्यदिवस के लिए सूचकांक लौटाता है.
DAYOFYEARदी गई तारीख के लिए वर्ष का दिन लौटाता है.
EXTRACTदिए गए भाग की तारीख से निकालें (जैसे 20/01/20 = 01 के लिए महीने).
दिनों सेदिए गए संख्यात्मक दिनांक मान से दिनांक लौटाएँ.
इस घंटेदिए गए दिनांक से घंटा लौटाएं.
आखरी दिनदी गई तारीख के लिए महीने का अंतिम दिन प्राप्त करें.
स्थानीय समयवर्तमान स्थानीय दिनांक और समय हो जाता है.
LOCALTIMESTAMPLOCALTIME के ​​समान.
MAKEDATEएक तिथि बनाता है और दिए गए वर्ष और दिनों के मूल्यों के आधार पर इसे वापस करता है.
समय बनानाएक समय बनाता है और दिए गए घंटे, मिनट और दूसरे मूल्यों के आधार पर इसे वापस करता है.
माइक्रोसेकंडकिसी दिए गए समय या डेटाटाइम के माइक्रोसेकंड को लौटाता है.
मिनटदिए गए समय या डेटाटाइम का मिनट लौटाता है.
महीनादी गई तारीख का महीना लौटाता है.
MONTHNAMEदिए गए दिनांक के महीने का नाम लौटाता है.
अभीLOCALTIME के ​​समान.
PERIOD_ADDदी गई अवधि के लिए महीनों की संख्या को जोड़ता है.
PERIOD_DIFF2 दी गई अवधियों के बीच का अंतर लौटाता है.
त्रिमासदी गई तारीख के लिए वर्ष की तिमाही लौटाता है.
दूसराकिसी दिए गए समय या डेटाटाइम का दूसरा लौटाता है.
SEC_TO_TIMEदिए गए सेकंड के आधार पर एक बार लौटता है.
STR_TO_DATEएक तारीख बनाता है और दिए गए स्ट्रिंग और प्रारूप के आधार पर इसे वापस करता है.
SUBDATEDATE_SUB के समान.
SUBTIMEएक समय अंतराल (जैसे: 02:00) को एक समय या डेटाइम (05:00) तक घटाएं और परिणाम (03:00) पर वापस लौटें।.
SYSDATELOCALTIME के ​​समान.
समयकिसी दिए गए समय या डेटाटाइम से समय लौटाता है.
समय प्रारूपदिए गए प्रारूप में दिए गए समय को लौटाता है.
TIME_TO_SECधर्मान्तरित और सेकंड में एक समय देता है.
TIMEDIFF2 दिए गए समय / डेटाटाइम अभिव्यक्तियों के बीच अंतर लौटाता है.
TIMESTAMPदिए गए दिनांक या डेटटाइम के डेटटाइम मान लौटाता है.
आज का दिदी गई तारीख को 0000 -00-0000 'से गुजरे दिनों की कुल संख्या लौटाता है.
सप्ताहदी गई तारीख के लिए सप्ताह की संख्या लौटाता है.
WEEKDAYदिए गए दिनांक के लिए कार्यदिवस नंबर लौटाता है.
WEEKOFYEARदी गई तारीख के लिए सप्ताह का नंबर देता है.
सालदिए गए दिनांक से वर्ष लौटाता है.
वर्ष सप्ताहदी गई तारीख के लिए वर्ष और सप्ताह संख्या लौटाता है.

विविध कार्य

विविध कार्य
नामविवरण
बिनदिए गए नंबर को बाइनरी में लौटाता है.
बायनरीबाइनरी स्ट्रिंग के रूप में दिए गए मान को लौटाता है.
कास्टएक प्रकार को दूसरे में परिवर्तित करें.
COALESCEमूल्यों की सूची से, पहला गैर-शून्य मान लौटाएं.
CONNECTION_IDवर्तमान कनेक्शन के लिए, अद्वितीय कनेक्शन आईडी लौटाएं.
CONVदिए गए नंबर को एक न्यूमेरिक बेस सिस्टम से दूसरे में कन्वर्ट करें.
CONVERTदिए गए मूल्य को दिए गए डेटाटाइप या वर्ण सेट में परिवर्तित करें.
तात्कालिक प्रयोगकर्ताउपयोगकर्ता और होस्टनाम लौटाएं जो सर्वर के साथ प्रमाणित करने के लिए उपयोग किया गया था.
डेटाबेसवर्तमान डेटाबेस का नाम प्राप्त करें.
समूह द्वारापरिणामों को समूहीकृत करने के लिए कुल कार्यों (COUNT, MAX, MIN, SUM, AVG) के साथ उपयोग किया जाता है.

उदाहरण: सक्रिय आदेशों वाले उपयोगकर्ताओं की संख्या को सूचीबद्ध करता है.

COUNT (user_id), सक्रिय_ सीमाओं का चयन करें
उपयोगकर्ताओं से
सक्रिय आधार से ग्रुप;
होनेइसका उपयोग WHERE के स्थान पर कुल कार्यों के साथ किया जाता है.

उदाहरण: सक्रिय आदेशों वाले उपयोगकर्ताओं की संख्या को सूचीबद्ध करता है, लेकिन केवल 3 से अधिक सक्रिय आदेश वाले उपयोगकर्ताओं को शामिल करता है.

COUNT (user_id), सक्रिय_ सीमाओं का चयन करें
उपयोगकर्ताओं से
सक्रिय आधार से ग्रुप
HAVING COUNT (user_id)> 3;
अगरयदि शर्त सही है, तो एक मान लौटाएँ, अन्यथा दूसरा मान लौटाएँ.
IFNULLयदि दी गई अभिव्यक्ति शून्य के बराबर है, तो दिए गए मान को वापस करें.
शून्य हैयदि अभिव्यक्ति शून्य है, तो 1 वापस करें, अन्यथा 0 वापस करें.
LAST_INSERT_IDअंतिम पंक्ति के लिए जो तालिका में जोड़ी या अपडेट की गई थी, ऑटो वेतन वृद्धि आईडी लौटाएं.
NULLIF2 दिए गए भावों की तुलना करता है। यदि वे समान हैं, तो NULL लौटाया जाता है, अन्यथा पहली अभिव्यक्ति वापस आ जाती है.
SESSION_USERवर्तमान उपयोगकर्ता और होस्टनाम वापस करें.
SYSTEM_USERSESSION_USER के समान.
उपयोगकर्ताSESSION_USER के समान.
संस्करणडेटाबेस को पावर करने वाले MySQL के वर्तमान संस्करण को लौटाता है.

वाइल्डकार्ड वर्ण

SQL में, वाइल्डकार्ड LIKE और NOT LIKE कीवर्ड के साथ उपयोग किए जाने वाले विशेष वर्ण हैं जो हमें परिष्कृत पैटर्न वाले डेटा को अधिक कुशलता से खोजने की अनुमति देते हैं

वाइल्डकार्ड
नामविवरण
%शून्य या अधिक वर्णों के बराबर है.

उदाहरण 1: Find पुत्र ’में समाप्त होने वाले उपनाम वाले सभी उपयोगकर्ता खोजें.

उपयोगकर्ताओं से चुनें *
कहाँ उपनाम '% बेटा';

उदाहरण 2: 'Users che' पैटर्न वाले शहरों में रहने वाले सभी उपयोगकर्ता खोजें

उपयोगकर्ताओं से चुनें *
कहाँ शहर LIKE '% che%';
_किसी भी एक वर्ण के बराबर है.

उदाहरण: Find chester ’के बाद किसी भी 3 वर्णों वाले शहरों में रहने वाले सभी उपयोगकर्ता खोजें,.

उपयोगकर्ताओं से चुनें *
जहां शहर '___chester' पसंद करता है;
[Charlist]सूची में किसी एक वर्ण के बराबर है.

उदाहरण 1: J, H या M से शुरू होने वाले पहले नाम वाले सभी उपयोगकर्ता खोजें.

उपयोगकर्ताओं से चुनें *
जहां पहले_नाम '' [झाम]% ';

उदाहरण 2: सभी उपयोगकर्ताओं को पहले नामों के साथ A - L के नाम वाले अक्षरों की खोज करें.

उपयोगकर्ताओं से चुनें *
जहाँ पहले_नाम '' [a-l]% ';

उदाहरण 3: सभी उपयोगकर्ताओं को पहले नामों के साथ n - s के बीच के अक्षरों के साथ समाप्त न होने का पता लगाएं.

उपयोगकर्ताओं से चुनें *
जहां पहले_नाम '% [! N-s]';

चांबियाँ

रिलेशनल डेटाबेस में, प्राथमिक और विदेशी कुंजी की अवधारणा है। SQL टेबल्स में, इन्हें अड़चन के रूप में शामिल किया जाता है, जहां एक टेबल में एक प्राथमिक कुंजी, एक विदेशी कुंजी या दोनों हो सकते हैं.

प्राथमिक कुंजी

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

आमतौर पर एक तालिका में, प्राथमिक कुंजी एक आईडी स्तंभ होती है, और आमतौर पर AUTO_INCREMENT कीवर्ड के साथ जोड़ी जाती है। इसका मतलब यह है कि नए रिकॉर्ड बनने के बाद मूल्य अपने आप बढ़ जाता है.

उदाहरण 1 (MySQL)

एक नई तालिका बनाएं और प्राथमिक कुंजी को आईडी कॉलम पर सेट करें.

बनाएँ उपयोगकर्ताओं ()
आईडी int नहीं AUTO_INCREMENT,
First_name varchar (255),
last_name varchar (255) पूर्ण नहीं है,
पता varchar (255),
ईमेल varchar (255),
प्राथमिक कुंजी (आईडी)
);

उदाहरण 2 (MySQL)

मौजूदा तालिका को बदलें और प्राथमिक कुंजी को पहले_नाम कॉलम में सेट करें.

उपयोगकर्ता को सक्षम करें
ADD PRIMARY KEY (first_name);

विदेशी कुंजी

एक विदेशी कुंजी को एक कॉलम या कई पर लागू किया जा सकता है और एक रिलेशनल डेटाबेस में एक साथ 2 तालिकाओं को जोड़ने के लिए उपयोग किया जाता है.

जैसा कि नीचे दिए गए चित्र में देखा गया है, विदेशी कुंजी वाली तालिका को चाइल्ड कुंजी कहा जाता है, जबकि जिस टेबल में संदर्भित कुंजी या उम्मीदवार कुंजी होती है, उसे पेरेंट टेबल कहा जाता है.

MySQL कुंजी

यह अनिवार्य रूप से मतलब है कि कॉलम डेटा को 2 तालिकाओं के बीच साझा किया गया है, क्योंकि एक विदेशी कुंजी भी अमान्य डेटा को डालने से रोकती है जो मूल तालिका में मौजूद नहीं है।.

उदाहरण 1 (MySQL)

एक नई तालिका बनाएं और किसी भी स्तंभ को संदर्भित करें जो अन्य तालिकाओं में आईडी को विदेशी कुंजियों में संदर्भित करता है.

सृजन संबंधी आदेश (
आईडी इंट नॉट,
user_id int,
product_id int,
प्राथमिक कुंजी (आईडी),
उपयोगकर्ता कुंजी (user_id) संदर्भ उपयोगकर्ता (आईडी),
विदेशी कुंजी (product_id) संदर्भ उत्पाद (आईडी)
);

उदाहरण 2 (MySQL)

एक मौजूदा तालिका को बदलें और एक विदेशी कुंजी बनाएं.

वैकल्पिक आदेश
ADD FOREIGN KEY (user_id) संदर्भ उपयोगकर्ता (आईडी);

इंडेक्स

अनुक्रमणिका वे विशेषताएँ हैं जिन्हें स्तंभों को सौंपा जा सकता है जिन्हें अक्सर डेटा पुनर्प्राप्ति के लिए त्वरित और अधिक कुशल प्रक्रिया बनाने के लिए खोजा जाता है.

इसका मतलब यह नहीं है कि प्रत्येक कॉलम को एक इंडेक्स में बनाया जाना चाहिए, क्योंकि एक कॉलम के बिना एक कॉलम से अधिक अपडेट होने में अधिक समय लगता है। ऐसा इसलिए है क्योंकि जब अनुक्रमित कॉलम अपडेट किए जाते हैं, तो इंडेक्स को भी अपडेट किया जाना चाहिए.

इंडेक्स
नामविवरण
पैदा करनाउपयोगकर्ता तालिका के पहले_नाम और उपनाम कॉलम पर es idx_test ’नामक एक सूचकांक बनाता है। इस उदाहरण में, डुप्लिकेट मानों की अनुमति है.
INDEX idx_test बनाएँ
उपयोगकर्ताओं (first_name, उपनाम) पर;
अद्वितीय भारत निर्माणउपरोक्त के समान, लेकिन कोई डुप्लिकेट मान नहीं.

अद्वितीय INDEX idx_test बनाएँ
उपयोगकर्ताओं (First_name, उपनाम) पर;
ड्रॉप इंडेक्सएक सूचकांक निकालता है.

उपयोगकर्ता को सक्षम करें
DROP INDEX idx_test;

में शामिल

SQL में, एक JOIN क्लॉज का उपयोग एक परिणाम सेट को वापस करने के लिए किया जाता है जो एक सामान्य कॉलम के आधार पर कई तालिकाओं से डेटा को जोड़ती है, जो उन दोनों में चित्रित होता है।

आपके उपयोग के लिए कई अलग-अलग जोड़ उपलब्ध हैं:-

  • इनर जॉइन (डिफ़ॉल्ट): किसी भी रिकॉर्ड को लौटाता है जिसमें दोनों तालिकाओं में मिलान मूल्य हैं.
  • बाँया जोड़: पहली तालिका से सभी रिकॉर्ड लौटाता है, साथ ही दूसरी तालिका के किसी भी मिलान रिकॉर्ड के साथ.
  • सही शामिल हों: पहली से किसी भी मिलान रिकॉर्ड के साथ, दूसरी तालिका से सभी रिकॉर्ड लौटाता है.
  • पूर्ण सम्मिलित हों: जब कोई मैच होता है तो दोनों तालिकाओं से सभी रिकॉर्ड लौटाता है.

कैसे काम में शामिल होने की कल्पना करने का एक सामान्य तरीका इस प्रकार है:

MySQL जॉइन करता है

निम्नलिखित उदाहरण में, आंतरिक तालिका का उपयोग ऑर्डर तालिका और फिर 3 अलग-अलग तालिकाओं को मिलाकर एक नया एकीकृत दृश्य बनाने के लिए किया जाएगा

हम उस उपयोगकर्ता के पहले_नाम और उपनाम वाले कॉलम के साथ user_id और product_id को प्रतिस्थापित करते हैं, जिसने ऑर्डर किया था, उस आइटम के नाम के साथ जिसे खरीदा गया था.

MySQL उदाहरण तालिका

सेलेक्ट ऑर्डर.निड, users.first_name, users.surname, products.name को 'उत्पाद का नाम'
आदेश से
INNER JOIN आदेशों पर उपयोगकर्ताओं को जोड़ें। उपयोगकर्ता_ उपयोगकर्ता = उपयोगकर्ता
INNER JOIN उत्पादों पर ऑर्डर करें ।product_id = products.id;

ऐसा परिणाम सेट करेगा जो ऐसा दिखता है:

MySQL उदाहरण तालिका

राय

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

दृश्य बनाना

एक दृश्य बनाने के लिए, आप ऐसा कर सकते हैं:

क्रिएट व्यू प्राथमिकता_सर्स के रूप में
उपयोगकर्ताओं से चुनें *
जहां देश = 'यूनाइटेड किंगडम';

फिर भविष्य में, यदि आपको संग्रहीत परिणाम सेट तक पहुंचने की आवश्यकता है, तो आप ऐसा कर सकते हैं:

चयन करें * से [प्राथमिकता_सर्स];

दृश्य बदलना

क्रिएट या रिप्लस कमांड के साथ, एक व्यू को अपडेट किया जा सकता है.

सृजन या समीक्षा देखें [प्राथमिकता_सर्स] के रूप में
उपयोगकर्ताओं से चुनें *
जहां देश = 'यूनाइटेड किंगडम' या देश = 'यूएसए';

दृश्य हटाना

किसी दृश्य को हटाने के लिए, बस DROP VIEW कमांड का उपयोग करें.

DROP देखें प्राथमिकता_सर्स;

निष्कर्ष

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

इस पृष्ठ को बुकमार्क करना सुनिश्चित करें, इसलिए भविष्य में, यदि आप SQL के साथ काम कर रहे हैं और किसी विशिष्ट ऑपरेटर को याद नहीं कर सकते हैं, तो एक निश्चित क्वेरी कैसे लिख सकते हैं, या बस उलझन में हैं कि कैसे काम में शामिल होता है, तो आपके पास होगा हाथ पर एक धोखा शीट जो तैयार है, तैयार है और मदद करने में सक्षम है.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map