PostgreSQL एक ओपन-सोर्स ऑब्जेक्ट-रिलेशनल डेटाबेस सिस्टम है, जो उद्योग में 30+ वर्षों के सक्रिय विकास के साथ है। पोस्टग्रेएसक्यूएल ट्यूटोरियल फॉर बिगिनर्स पर इस लेख में, मैं आपको डेटाबेस की विभिन्न अवधारणाओं और पोस्टग्रेएसक्यूएल में प्रयुक्त कमांड से परिचित कराऊंगा।
इस आलेख में शामिल विषयों को मुख्य रूप से 4 श्रेणियों में विभाजित किया गया है:DDL, DML, DCL और TCL।
- द डीडीएल (डेटा डेफिनिशन लैंग्वेज) कमांड का उपयोग डेटाबेस को परिभाषित करने के लिए किया जाता है। उदाहरण:बनाएँ, छोड़ें, बदलें, काट-छाँट करें, टिप्पणी करें, नाम बदलें।
- द डीएमएल (डेटा मैनिपुलेशन लैंग्वेज) कमांड डेटाबेस में मौजूद डेटा के हेरफेर से निपटते हैं। उदाहरण:चुनें, डालें, अपडेट करें, हटाएं।
- द डीसीएल (डेटा कंट्रोल लैंग्वेज) कमांड डेटाबेस सिस्टम की अनुमतियों, अधिकारों और अन्य नियंत्रणों से निपटते हैं। उदाहरण:अनुदान दें, आमंत्रित करें।
- द टीसीएल (लेन-देन नियंत्रण भाषा) कमांड डेटाबेस के लेन-देन से निपटते हैं। उदाहरण:BEGIN, COMMIT, ROLLBACK।
आदेशों के अलावा, इस लेख में निम्नलिखित विषयों को शामिल किया जाएगा:
- पोस्टग्रेएसक्यूएल क्या है?
- Windows पर PostgreSQL इंस्टॉल करें
- डेटाबेस में विभिन्न प्रकार की चाबियां
- डेटाबेस में उपयोग की जाने वाली बाधाएं
- ऑपरेटर
- कुल कार्य
- संचालन सेट करें
- नेस्टेड क्वेरी
- जुड़ता है
- दृश्य
- संग्रहीत प्रक्रियाएं
- ट्रिगर
- यूयूआईडी डेटा प्रकार
पोस्टग्रेएसक्यूएल क्या है? - पोस्टग्रेएसक्यूएल ट्यूटोरियल
PostgreSQL एक ऑब्जेक्ट-रिलेशनल डेटाबेस सिस्टम है जो SQL भाषा का विस्तार और उपयोग करता है। यह वर्ष 1986 में शुरू हुआ और 30 से अधिक वर्षों से सक्रिय विकास में है।
PostgreSQL की विशेषताएं इस प्रकार हैं:
- डेटा प्रकार: PostgreSQL विभिन्न प्रकार के डेटा प्रकारों का समर्थन करता है जैसे कि आदिम, संरचित, दस्तावेज़, ज्यामिति और अनुकूलन। यह उपयोगकर्ता को किसी भी प्रारूप में डेटा संग्रहीत करने में मदद करता है।
- डेटा अखंडता: डेटाबेस में विभिन्न बाधाओं और कुंजियों की मदद से, PostgreSQL यह सुनिश्चित करता है कि डेटा अखंडता सरल से जटिल डेटाबेस के लिए संतुष्ट है।
- प्रदर्शन: PostgreSQL यह सुनिश्चित करने के लिए अनुक्रमण, बहु-संस्करण समवर्ती नियंत्रण, अभिव्यक्तियों की JIT जटिलता जैसी सुविधाएँ प्रदान करता है ताकि यह सुनिश्चित हो सके कि समवर्ती और प्रदर्शन को चिह्नित रखा गया है।
- विश्वसनीयता: राइट अहेड लॉगिंग (WAL) और प्रतिकृति की मदद से, PostgreSQL ने समय के साथ खुद को सबसे विश्वसनीय डेटाबेस सिस्टम में से एक साबित कर दिया है।
- सुरक्षा: PostgreSQL प्रमाणीकरण जैसे शक्तिशाली तंत्र प्रदान करता है, यह सुनिश्चित करने के लिए एक मजबूत एक्सेस-कंट्रोल सिस्टम है कि केवल अधिकृत उपयोगकर्ताओं के पास डेटाबेस तक पहुंच है।
- एक्स्टेंसिबिलिटी: PostgreSQL अतिरिक्त कार्यक्षमता प्रदान करने के लिए विभिन्न एक्सटेंशन के साथ आता है। इसने अपनी एक्स्टेंसिबिलिटी सुविधाओं को संग्रहीत कार्यों, प्रक्रियात्मक भाषा और विदेशी डेटा रैपर के साथ बढ़ाया है।
अब, जब आप जानते हैं कि PostgreSQL क्या है, तो आइए हम Windows पर PostgreSQL स्थापित करके आरंभ करें।
Windows पर PostgreSQL इंस्टॉल करें - PostgreSQL Tutorial
Windows पर PostgreSQL स्थापित करने के लिए, आपको निम्न चरणों का पालन करना होगा:
चरण 1: PostgreSQL की आधिकारिक वेबसाइट पर जाएं और फिर उस ऑपरेटिंग सिस्टम को चुनें जिसके लिए आप डाउनलोड करना चाहते हैं। यहां मैं विंडोज को चुनूंगा।
चरण 2: एक बार, ऑपरेटिंग सिस्टम चुने जाने के बाद, आपको एक पेज पर रीडायरेक्ट किया जाएगा, जहां आपको इंस्टॉलर डाउनलोड करना होगा। ऐसा करने के लिए विकल्प पर क्लिक करें:इंस्टॉलर डाउनलोड करें। नीचे देखें।
चरण 3: फिर, आपको आगे एक पृष्ठ पर पुनर्निर्देशित किया जाएगा, जहां आपको ऑपरेटिंग सिस्टम के आधार पर इंस्टॉलर संस्करण का चयन करना होगा . यहां, मैं विंडोज 64 बिट के लिए 11.4 संस्करण चुनूंगा। नीचे देखें।
एक बार, आप डाउनलोड पर हिट कर देते हैं , आप स्वतः देखेंगे कि PostgreSQL डाउनलोड हो रहा है।
चरण 4: अब, एक बार फ़ाइल डाउनलोड हो जाने के बाद, फ़ाइल को खोलने के लिए उस पर डबल क्लिक करें और नीचे की तरह आपकी स्क्रीन पर एक विज़ार्ड दिखाई देगा। अगला . पर क्लिक करें और आगे बढ़ें।
चरण 4.1: अब, स्थापना निर्देशिका निर्दिष्ट करें . यहां, मैं इसे वैसे ही छोड़ दूंगा, और अगला . पर क्लिक करूंगा नीचे के रूप में।
चरण 4.2: अब, उन घटकों को चुनें जिन्हें आप इंस्टॉल करना चाहते हैं और फिर अगला . पर क्लिक करें . यहाँ, मैं सभी घटकों का चयन कर रहा हूँ।
चरण 4.3: इसके बाद, वह निर्देशिका चुनें जहां आप डेटा संग्रहीत करना चाहते हैं . यहाँ मैं इसे वैसे ही छोड़ने जा रहा हूँ। फिर, अगला पर क्लिक करें
चरण 4.4: अगले डायलॉग बॉक्स में, जो आता है, आपको सुपर यूजर के लिए पासवर्ड का उल्लेख करना होगा। फिर, अगला पर क्लिक करें
चरण 4.5: इसके बाद, आपको पोर्ट नंबर का चयन करना होगा किस सर्वर पर सुनना चाहिए। यहां, मैं इसे वैसे ही रहने दूंगा और फिर अगला पर क्लिक करूंगा
चरण 4.6: अंत में, स्थान का चयन करें नए डेटाबेस क्लस्टर द्वारा उपयोग किया जाना है। मैं इसे वैसे ही रहने दूंगा और फिर अगला . पर क्लिक करूंगा ।
चरण 4.7: अंत में अगला . पर क्लिक करें विज़ार्ड्स में जो आपके कंप्यूटर पर PostgreSQL की स्थापना शुरू करने के लिए आते हैं।
एक बार, इंस्टॉलेशन पूरा हो जाने पर, आपको अपनी स्क्रीन पर नीचे जैसा डायलॉग बॉक्स दिखाई देगा। समाप्त करें . पर क्लिक करें
चरण 5: अब, आपको सर्वर को डेटाबेस से कनेक्ट करना होगा . उस ओपन pgadmin को करने के लिए जो कि PostgreSQL का आधिकारिक GUI है . एक बार जब आप pgadmin खोलते हैं, तो आपको एक डायलॉग बॉक्स दिखाई देगा, जो आपसे पासवर्ड मांगता है। तो, पासवर्ड का उल्लेख करें, और ठीक पर क्लिक करें
अब, जब आपने PostgreSQL इंस्टॉल कर लिया है, तो चलिए PostgreSQL में उपयोग किए जाने वाले कमांड के साथ शुरुआत करते हैं।
पोस्टग्रेएसक्यूएल ट्यूटोरियल फॉर बिगिनर्स पर इस लेख में, मैं आपको कमांड लिखने का तरीका दिखाने के लिए एक उदाहरण के रूप में नीचे दिए गए डेटाबेस पर विचार करने जा रहा हूं।
TeacherID | शिक्षक का नाम | पता | शहर | डाक कोड | देश | वेतन |
01 | सौरव | गंगनम स्ट्रीट | सियोल | 06499 | दक्षिण कोरिया | 42000 |
02 | प्रीति | क्वींस क्वे | रियो क्लारो | 560001 | ब्राज़ील | 45900 |
03 | विनोद | किंग्स रोड | लंदन | SW6 | यूनाइटेड किंगडम | 65000 |
04 | आकांक्षा | मेयो रोड | कोलकाता | 700069 | भारत | 23000 |
05 | अमित | एमजी रोड | बेंगलुरु | 560001 | भारत | 30000 |
तो, चलिए अब शुरू करते हैं!
डेटा परिभाषा (DDL) कमांड - पोस्टग्रेएसक्यूएल ट्यूटोरियल
लेख के इस भाग में वे कमांड हैं, जिन्हें आप अपने डेटाबेस को परिभाषित कर सकते हैं। आदेश हैं:
- बनाएं
- बदलें
- ड्रॉप
- ट्रंकेट
- नाम बदलें
बनाएं
इस स्टेटमेंट का इस्तेमाल या तो स्कीमा, टेबल या इंडेक्स बनाने के लिए किया जाता है।
'क्रिएट स्कीम' स्टेटमेंट
CREATE SCHEMA स्टेटमेंट का उपयोग डेटाबेस बनाने के लिए किया जाता है या जिसे आमतौर पर स्कीमा के रूप में जाना जाता है।
वाक्यविन्यास:
CREATE SCHEMA Schema_Name;
उदाहरण:
CREATE SCHEMA teachers;
'तालिका बनाएं' कथन
CREATE TABLE स्टेटमेंट का उपयोग डेटाबेस में एक नई टेबल बनाने के लिए किया जाता है।
वाक्यविन्यास:
CREATE TABLE table_name ( column1 datatype, column2 datatype, column3 datatype, .... );
उदाहरण:
CREATE TABLE TeachersInfo ( TeacherID int, TeacherName varchar(255), Address varchar(255), City varchar(255), PostalCode int, Country varchar(255), Salary int );
बदलें
इस कथन का उपयोग बाधाओं या स्तंभों को जोड़ने, संशोधित करने या हटाने के लिए किया जाता है।
‘ALTER TABLE’ Statement
ALTER TABLE स्टेटमेंट का उपयोग किसी टेबल से बाधाओं और कॉलम को जोड़ने, संशोधित करने या हटाने के लिए किया जाता है।
वाक्यविन्यास:
ALTER TABLE table_name ADD column_name datatype;
उदाहरण:
ALTER TABLE TeachersInfo ADD DateOfBirth date;
DROP
इस कमांड का उपयोग डेटाबेस, टेबल या कॉलम को डिलीट करने के लिए किया जाता है।
'DROP SCHEMA' कथन
DROP SCHEMA स्टेटमेंट का उपयोग पूरे स्कीमा को छोड़ने के लिए किया जाता है।
वाक्यविन्यास:
DROP SCHEMA schema_name;
उदाहरण:
DROP SCHEMA teachers;
'DROP TABLE' Statement
DROP TABLE स्टेटमेंट का इस्तेमाल पूरी टेबल को उसके सभी मानों के साथ ड्रॉप करने के लिए किया जाता है।
वाक्यविन्यास:
DROP TABLE table_name;
उदाहरण:
DROP TABLE TeachersInfo;
TRUNCATE
TRUNCATE स्टेटमेंट का इस्तेमाल टेबल के अंदर मौजूद डेटा को डिलीट करने के लिए किया जाता है, लेकिन टेबल डिलीट नहीं होता है।
वाक्यविन्यास:
TRUNCATE TABLE table_name;
उदाहरण:
TRUNCATE TABLE TeachersInfo;
नाम बदलें
RENAME स्टेटमेंट का उपयोग एक या अधिक टेबल या कॉलम का नाम बदलने के लिए किया जाता है।
वाक्यविन्यास:
ALTER TABLE table_name RENAME TO new_table_name; --Rename Table name
ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name; -- Rename Column name
उदाहरण:
ALTER TABLE TeachersInfo RENAME TO InfoTeachers; ALTER TABLE InfoTeachers RENAME COLUMN dateofbirth TO dob;
अब, इससे पहले कि मैं PostgreSQL Tutorial For Beginners पर इस लेख में आगे बढ़ूं, मैं आपको विभिन्न प्रकार की कुंजियों और बाधाओं के बारे में बता दूं जिनका आपको डेटाबेस में हेरफेर करते समय उल्लेख करने की आवश्यकता है। चाबियाँ और बाधाएं आपको टेबल को बेहतर तरीके से बनाने में मदद करेंगी, क्योंकि आप प्रत्येक टेबल को दूसरी टेबल से जोड़ सकते हैं।
डेटाबेस में विभिन्न प्रकार की चाबियां - पोस्टग्रेएसक्यूएल ट्यूटोरियल
मुख्य रूप से 5 प्रकार की कुंजियाँ होती हैं, जिनका उल्लेख डेटाबेस में किया जा सकता है।
- उम्मीदवार कुंजी - एक कैंडिडेट कुंजी विशेषताओं के एक न्यूनतम सेट का एक संयोजन है जो विशिष्ट रूप से एक टपल की पहचान कर सकता है। किसी भी संबंध में एक से अधिक कैंडिडेट कुंजी हो सकती है, जिसमें कुंजी एक साधारण या समग्र कुंजी होती है।
- सुपर की - सुपर की एक विशेषता का सेट है जो विशिष्ट रूप से एक टपल की पहचान कर सकता है। तो, एक उम्मीदवार कुंजी एक सुपर कुंजी है, लेकिन इसके विपरीत सच नहीं है।
- प्राथमिक कुंजी – एक प्राथमिक कुंजी विशेषताओं का एक समूह है जिसका उपयोग प्रत्येक टपल को विशिष्ट रूप से पहचानने के लिए किया जा सकता है। इसलिए, यदि किसी रिश्ते में 3-4 उम्मीदवार कुंजी मौजूद हैं, तो उनमें से किसी एक को प्राथमिक कुंजी के रूप में चुना जा सकता है।
- वैकल्पिक कुंजी - प्राथमिक कुंजी के अलावा अन्य सभी उम्मीदवार कुंजी को वैकल्पिक कुंजी कहा जाता है।
- विदेशी कुंजी - एक विशेषता जो केवल किसी अन्य विशेषता के मूल्यों के रूप में मौजूद मूल्यों को ले सकती है, वह उस विशेषता की विदेशी कुंजी है जिसे वह संदर्भित करती है।
डेटाबेस में प्रयुक्त बाधाएं - पोस्टग्रेएसक्यूएल ट्यूटोरियल
डेटाबेस में आप जिन बाधाओं का उपयोग कर सकते हैं, वे इस प्रकार हैं:
- बिल्कुल नहीं - NOT NULL बाधा यह सुनिश्चित करती है कि एक NULL मान किसी कॉलम में संग्रहीत नहीं किया जा सकता है
- अद्वितीय - अद्वितीय बाधा यह सुनिश्चित करती है कि एक कॉलम के सभी मान अलग-अलग हों
- जांच करें -चेक बाधा यह सुनिश्चित करती है कि कॉलम के सभी मान एक विशिष्ट शर्त को पूरा करते हैं।
- डिफ़ॉल्ट - जब कोई मान निर्दिष्ट नहीं किया जाता है, तो डिफ़ॉल्ट बाधा में कॉलम के लिए डिफ़ॉल्ट मानों का एक सेट होता है।
- INDEX - इंडेक्स बाधा का उपयोग डेटाबेस से डेटा को बहुत जल्दी बनाने और पुनर्प्राप्त करने के लिए किया जाता है
अब, जब आप DDL में कमांड और विभिन्न प्रकार की कुंजियों और बाधाओं को जानते हैं, तो चलिए अगले सेक्शन यानी डेटा मैनिपुलेशन कमांड पर चलते हैं।
डेटा मैनिपुलेशन (DML) कमांड - पोस्टग्रेएसक्यूएल ट्यूटोरियल
लेख के इस भाग में कमांड हैं, जिनके द्वारा आप अपने डेटाबेस में हेरफेर कर सकते हैं। आदेश हैं:
- SEARCH_PATH सेट करें
- सम्मिलित करें
- अपडेट करें
- हटाएं
- चुनें
इन आदेशों के अलावा, अन्य जोड़-तोड़ करने वाले ऑपरेटर/कार्य भी हैं जैसे:
- अंकगणित, बिटवाइज़, कंपाउंड और तुलना ऑपरेटर
- लॉजिकल ऑपरेटर्स
- एग्रीगेट फंक्शन
- विशेष ऑपरेटर
- सेट ऑपरेशन
- सीमित करें, ऑफसेट करें और प्राप्त करें
SET SEARCH_PATH
इस कथन का उपयोग यह उल्लेख करने के लिए किया जाता है कि सभी कार्यों को करने के लिए किस स्कीमा का उपयोग किया जाना है।
वाक्यविन्यास:
SET search_path TO schema_name;
उदाहरण:
SET search_path TO teachers;
INSERT
INSERT स्टेटमेंट का उपयोग टेबल में नए रिकॉर्ड डालने के लिए किया जाता है।
वाक्यविन्यास:
The INSERT INTO statement can be written in the following two ways:
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...); --You need not mention the column names INSERT INTO table_name VALUES (value1, value2, value3, ...);
उदाहरण:
INSERT INTO TeachersInfo(TeacherID, TeacherName, Address, City, PostalCode, Country, Salary) VALUES ('01', 'Saurav','Gangnam Street', 'Seoul', '06499', 'South Korea', '42000'); INSERT INTO TeachersInfo VALUES ('02', 'Preeti','Queens Quay', 'Rio Claro', '13500', 'Brazil', '45900');
अपडेट करें
The UPDATE statement is used to modify the existing records in a table.
वाक्यविन्यास:
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
उदाहरण:
UPDATE TeachersInfo SET TeacherName = 'Alfred', City= 'Frankfurt' WHERE TeacherID = '01';
हटाएं
DELETE स्टेटमेंट का उपयोग किसी तालिका में मौजूदा रिकॉर्ड को हटाने के लिए किया जाता है।
वाक्यविन्यास:
DELETE FROM table_name WHERE condition;
उदाहरण:
DELETE FROM TeachersInfo WHERE TeacherName='Vinod';
चुनें
SELECT कथन का उपयोग डेटाबेस से डेटा का चयन करने के लिए किया जाता है और लौटाए गए डेटा को एक परिणाम तालिका में संग्रहीत किया जाता है, जिसे परिणाम-सेट कहा जाता है। ।
इस कथन का उपयोग करने के दो तरीके निम्नलिखित हैं:
वाक्यविन्यास:
SELECT column1, column2, ... FROM table_name; --(*) is used to select all from the table SELECT * FROM table_name;
उदाहरण:
SELECT Teachername, City FROM TeachersInfo; SELECT * FROM TeachersInfo;
व्यक्तिगत SELECT कीवर्ड के अलावा, आप निम्न कथनों के साथ SELECT कीवर्ड का उपयोग कर सकते हैं:
- DISTINCT
- आदेश दें
- ग्रुप बाय
- खंड होना
‘DISTINCT चुनें’ कथन
SELECT DISTINCT स्टेटमेंट का इस्तेमाल केवल अलग या अलग वैल्यू को वापस करने के लिए किया जाता है। इसलिए, यदि आपके पास डुप्लिकेट मानों वाली तालिका है, तो आप अलग-अलग मानों को सूचीबद्ध करने के लिए इस कथन का उपयोग कर सकते हैं।
वाक्यविन्यास:
SELECT DISTINCT column1, column2, ... FROM table_name;
उदाहरण:
SELECT Country FROM TeachersInfo;
द 'ऑर्डर बाय' स्टेटमेंट
ORDER BY स्टेटमेंट का उपयोग वांछित परिणामों को आरोही या अवरोही क्रम में क्रमबद्ध करने के लिए किया जाता है। डिफ़ॉल्ट रूप से, परिणाम आरोही क्रम में क्रमबद्ध होंगे। यदि आप अभिलेखों को अवरोही क्रम में क्रमबद्ध करना चाहते हैं, तो आपको DESC का उपयोग करना होगा कीवर्ड।
वाक्यविन्यास:
SELECT column1, column2, ... FROM table_name ORDER BY column1, column2, ...ASC|DESC;
उदाहरण:
SELECT * FROM TeachersInfo ORDER BY Country; SELECT * FROM TeachersInfo ORDER BY Country DESC; SELECT * FROM TeachersInfo ORDER BY Country, TeachersName; SELECT * FROM TeachersInfo ORDER BY Country ASC, TeachersName DESC;
'ग्रुप बाय' स्टेटमेंट
इस कथन का उपयोग समग्र कार्यों के साथ परिणाम-सेट को एक या अधिक स्तंभों द्वारा समूहित करने के लिए किया जाता है।
वाक्यविन्यास:
SELECT column_name(s) FROM table_name WHERE condition GROUP BY column_name(s) ORDER BY column_name(s);
उदाहरण:
SELECT COUNT(TeacherID), Country FROM TeachersInfo GROUP BY Country ORDER BY COUNT(TeacherID) DESC;
'हैविंग' क्लॉज स्टेटमेंट
चूंकि कहां कीवर्ड का उपयोग समग्र कार्यों के साथ नहीं किया जा सकता है, HAVING क्लॉज पेश किया गया था।
वाक्यविन्यास:
SELECT column_name(s) FROM table_name WHERE condition GROUP BY column_name(s) HAVING condition ORDER BY column_name(s);
उदाहरण:
SELECT COUNT(TeacherID), Country FROM TeachersInfo GROUP BY Country HAVING COUNT(Salary) > 40000;
अंकगणित, बिटवाइज, कंपाउंड और तुलना ऑपरेटर्स - पोस्टग्रेएसक्यूएल ट्यूटोरियल
अंकगणित, बिटवाइज, कंपाउंड और तुलना ऑपरेटर इस प्रकार हैं:
लॉजिकल ऑपरेटर्स
ऑपरेटरों के इस सेट में AND/OR/NOT जैसे लॉजिकल ऑपरेटर्स होते हैं।
और ऑपरेटर
यह ऑपरेटर रिकॉर्ड प्रदर्शित करता है, जो AND द्वारा अलग की गई सभी शर्तों को पूरा करता है।
वाक्यविन्यास:
SELECT column1, column2, ... FROM table_name WHERE condition1 AND condition2 AND condition3 ...;
उदाहरण:
SELECT * FROM TeachersInfo WHERE Country='India' AND City='South Korea';
या ऑपरेटर
यह ऑपरेटर उन रिकॉर्ड्स को प्रदर्शित करता है जो OR द्वारा अलग की गई किसी भी शर्त को पूरा करते हैं।
वाक्यविन्यास:
SELECT column1, column2, ... FROM table_name WHERE condition1 OR condition2 OR condition3 ...;
उदाहरण:
SELECT * FROM TeachersInfo WHERE Country='India' OR City='South Korea';
संचालक नहीं
NOT ऑपरेटर एक रिकॉर्ड प्रदर्शित करता है जब शर्त (s) सही नहीं होती है।
वाक्यविन्यास:
SELECT column1, column2, ... FROM table_name WHERE NOT condition;
उदाहरण:
SELECT * FROM TeachersInfo WHERE NOT Country='India'; --You can also combine all the above three operators and write a query like this: SELECT * FROM TeachersInfo WHERE NOT Country='India' AND (City='Bengaluru' OR City='Kolkata');
एग्रीगेट फंक्शंस - पोस्टग्रेएसक्यूएल ट्यूटोरियल
लेख के निम्नलिखित भाग में इस तरह के कार्य शामिल होंगे:
- मिनट ()
- MAX()
- COUNT()
- एवीजी ()
- एसयूएम ()
MIN() फंक्शन
MIN फ़ंक्शन किसी तालिका में चयनित कॉलम का सबसे छोटा मान देता है।
वाक्यविन्यास:
SELECT MIN(column_name) FROM table_name WHERE condition;
उदाहरण:
SELECT MIN(Salary) AS SmallestSalary FROM TeachersInfo;
MAX() फ़ंक्शन
MAX फ़ंक्शन किसी तालिका में चयनित कॉलम का सबसे बड़ा मान देता है।
वाक्यविन्यास:
SELECT MAX (column_name) FROM table_name WHERE condition;
उदाहरण:
SELECT MAX(Salary) AS LargestSalary FROM TeachersInfo;
COUNT() फ़ंक्शन
COUNT फ़ंक्शन निर्दिष्ट मानदंड से मेल खाने वाली पंक्तियों की संख्या लौटाता है।
वाक्यविन्यास:
SELECT COUNT (column_name) FROM table_name WHERE condition;
उदाहरण:
SELECT COUNT(TeacherID) FROM TeachersInfo;
AVG() फ़ंक्शन
एवीजी फ़ंक्शन आपके द्वारा चुने गए संख्यात्मक कॉलम का औसत मान देता है।
वाक्यविन्यास:
SELECT AVG (column_name) FROM table_name WHERE condition;
उदाहरण:
SELECT AVG(Salary) FROM TeachersInfo;
SUM() फ़ंक्शन
SUM फ़ंक्शन आपके द्वारा चुने गए संख्यात्मक कॉलम का कुल योग देता है।
वाक्यविन्यास:
SELECT SUM(column_name) FROM table_name WHERE condition;
उदाहरण:
SELECT SUM(Salary) FROM TeachersInfo;
विशेष ऑपरेटर - पोस्टग्रेएसक्यूएल ट्यूटोरियल
लेख के इस भाग में निम्नलिखित ऑपरेटर शामिल होंगे:
- बीच में
- IS NULL
- पसंद करें
- IN
- मौजूद हैं
- सभी
- कोई भी
ऑपरेटर के बीच
BETWEEN ऑपरेटर एक समावेशी ऑपरेटर है जो एक निश्चित सीमा के भीतर मानों (संख्याओं, टेक्स्ट या तिथियों) का चयन करता है।
वाक्यविन्यास:
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2;
उदाहरण:
SELECT * FROM TeachersInfo WHERE Fees BETWEEN 30000 AND 45000;
IS NULL ऑपरेटर है
चूंकि, तुलना ऑपरेटरों (=, <,>) के साथ NULL मानों के लिए परीक्षण करना संभव नहीं है, हम इसके बजाय IS NULL और IS NOT NULL ऑपरेटरों का उपयोग कर सकते हैं।पी>
वाक्यविन्यास:
--Syntax for IS NULL SELECT column_names FROM table_name WHERE column_name IS NULL; --Syntax for IS NOT NULL SELECT column_names FROM table_name WHERE column_name IS NOT NULL;के लिए सिंटैक्स
उदाहरण:
SELECT TeacherName FROM TeachersInfo WHERE Address IS NULL; SELECT TeacherName FROM TeachersInfo WHERE Address IS NOT NULL;
LIKE ऑपरेटर
LIKE ऑपरेटर का उपयोग WHERE क्लॉज में टेबल के कॉलम में निर्दिष्ट पैटर्न को खोजने के लिए किया जाता है।
नीचे दिए गए दो वाइल्डकार्ड हैं जिनका उपयोग LIKE ऑपरेटर के साथ संयोजन में किया जाता है:
% - प्रतिशत चिह्न शून्य, एक या एकाधिक वर्णों का प्रतिनिधित्व करता है
_ - अंडरस्कोर एक ही वर्ण का प्रतिनिधित्व करता है
वाक्यविन्यास:
SELECT column1, column2, ... FROM table_name WHERE column LIKE pattern;
उदाहरण:
SELECT * FROM TeachersInfo WHERE TeacherName LIKE 'S%';
IN ऑपरेटर
IN ऑपरेटर एक शॉर्टहैंड ऑपरेटर है और इसका उपयोग कई OR शर्तों के लिए किया जाता है।
वाक्यविन्यास:
SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2, ...);
उदाहरण:
SELECT * FROM TeachersInfo WHERE Country IN ('South Korea', 'India', 'Brazil');
नोट: नेस्टेड क्वेरी लिखते समय आप IN का भी उपयोग कर सकते हैं।
मौजूद ऑपरेटर
EXISTS ऑपरेटर का उपयोग यह जांचने के लिए किया जाता है कि कोई रिकॉर्ड मौजूद है या नहीं।
वाक्यविन्यास:
SELECT column_name(s) FROM table_name WHERE EXISTS (SELECT column_name FROM table_name WHERE condition);
उदाहरण:
SELECT TeacherName FROM TeachersInfo WHERE EXISTS (SELECT * FROM TeachersInfo WHERE TeacherID = 05 AND Salary &amp;amp;amp;gt; 25000);
सभी ऑपरेटर
ALL ऑपरेटर का उपयोग WHERE या HAVING क्लॉज के साथ किया जाता है और यदि सभी सब-क्वेरी मान इस शर्त को पूरा करते हैं तो यह सही हो जाता है।
वाक्यविन्यास:
SELECT column_name(s) FROM table_name WHERE column_name operator ALL (SELECT column_name FROM table_name WHERE condition);
उदाहरण:
SELECT TeacherName FROM TeachersInfo WHERE TeacherID = ALL (SELECT TeacherID FROM TeachersInfo WHERE Salary &amp;amp;amp;gt; 25000);
कोई भी ऑपरेटर
सभी ऑपरेटर के समान, किसी भी ऑपरेटर का उपयोग WHERE या HAVING क्लॉज के साथ भी किया जाता है और यदि कोई सब-क्वेरी मान शर्त को पूरा करता है तो सत्य वापस आ जाता है।
वाक्यविन्यास:
SELECT column_name(s) FROM table_name WHERE column_name operator ANY (SELECT column_name FROM table_name WHERE condition);
उदाहरण:
SELECT TeacherName FROM TeachersInfo WHERE TeacherID = ANY (SELECT TeacherID FROM TeachersInfo WHERE Salary BETWEEN 32000 AND 45000);
संचालन सेट करें - पोस्टग्रेएसक्यूएल ट्यूटोरियल
There are mainly three set operations:UNION, INTERSECT, MINUS. You can refer to the image below to understand the set operations in SQL. Refer to the below image:
UNION
The UNION operator is used to combine the result-set of two or more SELECT statements.
Syntax
SELECT column_name(s) FROM table1 UNION SELECT column_name(s )FROM table2;
INTERSECT
The INTERSECT clause is used to combine two SELECT statements and return the intersection of the data-sets of both the SELECT statements.
Syntax
SELECT Column1 , Column2 .... FROM table_name; WHERE condition INTERSECT SELECT Column1 , Column2 .... FROM table_name; WHERE condition
EXCEPT
The EXCEPT operator returns those tuples that are returned by the first SELECT operation, and are not returned by the second SELECT operation.
Syntax
SELECT column_name FROM table_name; EXCEPT SELECT column_name FROM table_name;
Limit, Offset and Fetch – PostgreSQL Tutorial
LIMIT
The LIMIT statement is used to retrieve a portion of the rows out of the complete rows present in the table.
Syntax:
SELECT column_name
FROM table_name LIMIT number;
Example:
SELECT * FROM TeachersInfo LIMIT 5;
OFFSET
The OFFSET statement omits the number of rows you mention and then retrieves the rest portion of the rows.
Syntax:
SELECT column_name
FROM table_name OFFSET number LIMIT number;
Example:
--Select 3 rows from TeachersInfo after the 5th row SELECT * FROM TeachersInfo OFFSET 5 LIMIT 3; --Select all rows from TeachersInfo SELECT * FROM TeachersInfo OFFSET 2;
FETCH
The FETCH keyword is used to fetch records from a table using a cursor. Here the cursors will be the following:
- NEXT
- PRIOR
- FIRST
- LAST
- RELATIVE Count
- ABSOLUTE Count
- Count
- ALL
- BACKWARD
- BACKWARD Count
- BACKWARD ALL
- FORWARD
- FORWARD Count
- FORWARD ALL
Syntax:
FETCH cursorname;
Example:
SELECT * FROM TeachersInfo OFFSET 5 FETCH FIRST 5 ROWS ONLY;
Nested Queries – PostgreSQL Tutorial
Nested queries are those queries which have an outer query and inner subquery. So, basically, the subquery is a query which is nested within another query such as SELECT, INSERT, UPDATE or DELETE. Refer to the image below:
So, when you execute this query, you will see the name of the teacher who is from Brazil.
Joins – PostgreSQL Tutorial
JOINS in PostgreSQL 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: The INNER JOIN returns those records which have matching values in both the tables.
- LEFT JOIN: The LEFT JOIN returns records from the left table, and also those records which satisfy the condition from the right table.
- RIGHT JOIN: The RIGHT JOIN returns records from the right table, and also those records which satisfy the condition from the left table.
- FULL JOIN: The FULL JOIN returns all those records which either have a match in the left or the right table.
Let’s consider the below table apart from the TeachersInfo table, to understand the syntax of joins.
SubjectID | TeacherID | SubjectName |
1 | 10 | Maths |
2 | 11 | Physics |
3 | 12 | Chemistry |
INNER JOIN
Syntax:
SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;
Example:
SELECT Subjects.SubjectID, TeachersInfo.TeacherName FROM Subjects INNER JOIN TeachersInfo ON Subjects.TeacherID = TeachersInfo.TeacherID;
LEFT JOIN
Syntax:
SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name;
Example:
SELECT TeachersInfo.TeacherName, Subjects.SubjectID FROM TeachersInfo LEFT JOIN Subjects ON TeachersInfo.TeacherID = Subjects.TeacherID ORDER BY TeachersInfo.TeacherName;
RIGHT JOIN
Syntax:
SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;
Example:
SELECT Subjects.SubjectID FROM Subjects RIGHT JOIN TeachersInfo ON Subjects.SubjectID = TeachersInfo.TeacherID ORDER BY Subjects.SubjectID;
FULL JOIN
Syntax:
SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name;
Example:
SELECT TeachersInfo.TeacherName, Subjects.SubjectID FROM TeachersInfo FULL OUTER JOIN Subjects ON TeachersInfo.TeacherID = Subjects.SubjectID ORDER BY TeachersInfo.TeacherName;
Now, next in this article, I will discuss Views, Stored Procedures, and Triggers.
Views – PostgreSQL Tutorial
A view is a single table, which is derived from other tables. So, a view contains rows and columns similar to a real table and has fields from one or more table.
The ‘CREATE VIEW’ statement
The CREATE VIEW statement is used to create a view from an existing table.
Syntax
CREATE VIEW view_name AS SELECT column1, column2, ..., columnN FROM table_name WHERE condition;
Example
CREATE VIEW teachers_view AS SELECT TeacherName, TeacherID FROM TeachersInfo WHERE City = 'Bengaluru';
The ‘DROP VIEW’ statement
The DROP VIEW statement is used to delete a view.
Syntax
DROP VIEW view_name;
Example
DROP VIEW teachers_view;
PostgreSQL Tutorial For Beginners: Stored Procedures
Stored Procedures are snippets of codes which can be saved and re-used.
Syntax
CREATE PROCEDURE procedure_name
LANGUAGE lang_name;
Example
--Create two tables CREATE TABLE tbl1(tb1id int); CREATE TABLE tbl2(tb2id int); --Create Procedure CREATE PROCEDURE insert_data (a1 integer, b1 integer) LANGUAGE SQL AS $$ INSERT INTO tbl1 VALUES (a1); INSERT INTO tbl2 VALUES (b1); $$; CALL insert_data(4, 5);
T riggers – PostgreSQL Tutorial
Triggers are a set of SQL statements which are stored in the database catalog. These statements are executed whenever an event associated with a table occurs. So, a trigger can be invoked either BEFORE or AFTER the data is changed by INSERT , UPDATE or DELETE बयान।
Syntax
CREATE TRIGGER trigger_name [BEFORE|AFTER|INSTEAD OF] event_name ON table_name [ --Mention Logic Here ];
Example
--CREATE TRIGGER CREATE TRIGGER example_trigger AFTER INSERT ON TeachersInfo;
Data Control (DCL) Commands – PostgreSQL Tutorial
This section consists of those commands which are used to control privileges in the database. The commands are:
- GRANT
- REVOKE
GRANT
The GRANT command is used to provide user access privileges or other privileges for the schema.
Syntax:
GRANT privileges ON object TO user;
Example:
GRANT INSERT ON TeachersInfo TO PUBLIC;
REVOKE
The REVOKE 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 TeachersInfo FROM PUBLIC;
Now, let’s move on to the last section of this article i.e. the TCL Commands.
Transaction Control (TCL) Commands – PostgreSQL Tutorial
- BEGIN
- COMMIT
- ROLLBACK
- SAVEPOINT
- RELEASE SAVEPOINT
- SET TRANSACTION
BEGIN
The BEGIN TRANSACTION command is used to start the transaction.
Syntax:
BEGIN;
BEGIN TRANSACTION;
Example:
BEGIN; DELETE * FROM TeachersInfo WHERE Salary = 65000;
COMMIT
The COMMIT command saves all the transactions to the database since the last COMMIT or ROLLBACK command.
Syntax:
COMMIT;
Example:
DELETE * FROM TeachersInfo WHERE Salary = 65000; COMMIT;
ROLLBACK
The ROLLBACK command is used to undo transactions since the last COMMIT or ROLLBACK command was issued.
Syntax:
ROLLBACK;
Example:
DELETE * FROM TeachersInfo WHERE Salary = 65000; ROLLBACK;
SAVEPOINT
The SAVEPOINT command defines a new savepoint within the current transaction.
Syntax:
SAVEPOINT savepoint_name; --Syntax for saving the SAVEPOINT ROLLBACK TO savepoint_name --Syntax for rolling back to the SAVEPOINT
Example:
SAVEPOINT SP1; DELETE FROM TeachersInfo WHERE Fees = 65000; SAVEPOINT SP2;
RELEASE SAVEPOINT
The RELEASE SAVEPOINT command is used to remove a SAVEPOINT that you have created.
Syntax:
RELEASE SAVEPOINT savepoint_name;
Example:
RELEASE SAVEPOINT SP2;
SET TRANSACTION
The SET TRANSACTION command sets the characteristics of the current transaction.
Syntax:
SET TRANSACTION transaction_mode;
UUID Data Type – PostgreSQL Tutorial
UUID data type stores Universally Unique Identifiers (UUID) with a 128 byte length. It is written as a sequence of lower-case hexadecimal digits and is generated by an algorithm. This algorithm is designed to make sure that the same UUID is not generated by any other person in the universe.
Example:
--Generate a a unique UUID SELECT uuid_generate_v4();
With this, we come to the end of this article on PostgreSQL Tutorial For Beginners. I hope you enjoyed reading this article on PostgreSQL Tutorial For Beginners. We have seen the different commands that will help you write queries and play around with your databases. If you wish to learn more about SQL and get to know this open source relational database, then check out our SQL Essentials Training. This training will help you understand SQL in depth and help you achieve mastery over the subject.
हमारे लिए एक प्रश्न है? Please mention it in the comments section of ”PostgreSQL Tutorial For Beginners ” और मैं आपके पास वापस आऊंगा।