Tuesday, August 11, 2020

SQL सलेक्ट स्टेटमेंट में CONCATENATION OPERATOR ( || ) का प्रयोग


SQL में जब हम दो या दो से ज्यादा स्ट्रिंग (STRING) या स्ट्रिंग / टेक्स्ट  टाइप के कॉलम को जोड़ना होता है तो हम CONCATENATION OPERATOR का प्रयोग करते है | CONCATENATION का अर्थ होता है जोड़ना , CONCATENATION ऑपरेटर को हम ( || ) दो कड़ी लाइनों से दर्शाते है | स्ट्रिंग ऑपरेशन का यह एक महत्वपूर्ण ऑपरेटर है |

अब हम इसका प्रयोग देखेंगे :

मान लीजिये हमारे पास EMPLOYEE नाम की एक टेबल है :

✔ ऊपर दी गई टेबल में EMPNO, EMPNAME, AGE और SALARY नाम के कॉलम है |

अगर हम EMPNAME और AGE को जोड़ कर दिखाना चाहते है तो हमारा सेलेक्ट स्टेटमेंट होगा :

SELECT EMPNAME || AGE FROM EMPLOYEE;


✔ आप रिजल्ट देख सकते है नाम और ऐज को साथ में दिखा रहा है |जैसे "AMIT SINGH 26". 

✔ इसी प्रकार से यदि हम स्टेटमेंट में कोई  लिटरल (LITERAL) लिखना चाहते है तो दे सकते है |

LITERALS क्या होते है समझे :

✔ LITERALS कोई करैक्टर (CHARACTER ), नंबर (NUMBER ) या डेट (DATE ) हो सकते है |

✔ डेट (DATE) और करैक्टर (CHARACTER) लितेरल वैल्यूज (VALUES) को हम ( ' ' ) SINGLE कोड में लिखते है |

जैसे हम लिख सकते है  "AMIT SINGH AGE IS 26", इसके लिए SELECT STATEMENT होगा :

SELECT EMPNAME || 'AGE IS ' || AGE FROM EMPLOYEE;


दूसरा उदहरण है जिसमे हम लिखेंगे  "AMIT SINGH AGE IS 26 AND SALARY IS 10000" इसके लिए SELECT STATEMENT होगा :

SELECT EMPNAME || ' AGE IS ' || AGE || ' AND SALARY IS '|| SALARY FROM EMPLOYEE;

SQL में CONCAT(STR1 , STR2 ) FUNCTION का प्रयोग करके भी हम दो CHARACTER , DATE या NUMBERS को जोड़ सकते है | जैसे :

इस FUNCTION को प्रयोग कर सकते है पर कुछ बाध्यताए है जैसे 

इससे हम केवल दो वैल्यूज (VALUES) को ही जोड़ सकते है | जबकि CONCATENATION OPERATOR ( || ) को एक SELECT STATEMENT में कई बार प्रयोग कर सकते है |

✔ इसमे हम कॉलम के साथ  LITERALS को जोड़ नहीं सकते क्योकि इस FUNCTION में दो ही पेरामीटर होते है (STR1,STR2) जबकि  CONCATENATION OPERATOR ( || ) का प्रयोग करके हम कई LITERALS को आसानी से जोड़ सकते है |

CONCAT( ) FUNCTION में LITERALS का प्रयोग :

ऊपर दी गई SELECT STATEMENT में "NAME OF EMPLOYEE IS" एक LITERALS है जिसे हमने कॉलम के साथ जोड़ा है आप रिजल्ट में देख सकते है |

उम्मीद है आप लोगों को CONCATENATION OPERATOR ( || ) और CONCAT( ) FUNCTION समझ में आया होगा |



Tuesday, August 4, 2020

SQL में SELECT STATEMENT को लिखना सीखें




SQL स्टेटमेंट को लिखते समय ध्यान रखने योग्य बातें :

  सबसे पहले ध्यान रखने योग्य बात यह है कि SQL स्टेटमेंट केस संसितिवे (CASE SENSITIVE ) नहीं होता |  इसका मतलब है की हम इसे SMALL या CAPITAL लेटर में लिख सकते है |
जैसे : SELECT * FROM EMPLOYEE;  या select * from employee;

  SQL स्टेटमेंट को एक या एक से ज्यादा लाइन में लिख सकते है |

✔   केय्वोर्ड्स (KEYWORDS) को पूरी लाइन या स्टेटमेंट  में  संक्षिप्त (abbreviated) या विभाजित (split) नहीं    कर सकते  |

✔   CLAUSES को हमें सेपरेट लाइन में लिखना चाहिए जिससे उसे पड़ने या समझने में आसानी होगी |

   INDENTS का  प्रयोग करके किसी STATEMENT की पठनीयता (readability) को बढ़ा सकते है |



हम देखेंगे  की एक साधारण (simple) SELECT स्टेटमेंट कैसे लिखते है :
 
मान लीजिये हमारे पास एक EMPLOYEE नाम की टेबल है जिसमे निम्न्लिखित कॉलम है | 
EMPLOYEE  (ENO, ENAME, AGE, SALERY)



ऊपर दी गई टेबल में से अगर आप सारा रिकॉर्ड देखना चाहते है तो आपको लिखना पड़ेगा :

SELECT * FROM EMPLOYEE;

यहाँ पर ( * ) का मतलब ( ALL ) होता है | यह ध्यान रखना है बहुत आसन है दोस्तों |

अगर आप चाहते है क विशेस कॉलम (COLUMN ) के डाटा को देखना है |मानलीजिये हमें सारे EMPLOYEE का नाम देखना है तो हमारा SQL स्टेटमेंट होगा  :

SELECT EMPNAME FROM EMPLOYEE ;



अगर एक से ज्यादा कॉलम को देखना चाहते है तो हम लिख सकते है :

SELECT EMPNAME , AGE FROM EMPLOYEE ;





हमें यह ध्यान रखना है की हर स्टेटमेंट के अंत में सेमीकोलन (;) लगाना होगा नहीं तो SQL स्टेटमेंट की ENDING नहीं होगी |

अरिथमेटिक ऑपरेशन  ( Arithmetic Operations ) :

अब हम अरिथमेटिक ऑपरेशन  की बात करते है | अरिथमेटिक ऑपरेशन से आप समझते ही है की हम जोड़ना , घटना ,गुडा और भाग ( + , - , x , / ) करने जैसी कैलकुलेशन की बात कर रहे है | आज हम जानेगे की इन ऑपरेशन  को SQL स्टेटमेंट्स में कैसे उपयोग किया जाता है |

अरिथमेटिक ऑपरेशन का प्रयोग नंबर टाइप के डाटा के साथ किया जाता है | हम कह सकते है की जो कॉलम नंबर टाइप का होगा उसमे प्रयोग किया जा सकता है | जैसे 

मान लिगिये उपरोक्त टेबल में SALARY नाम का कॉलम है हम सभी की सैलरी में 500 रूपए का इन्क्रीमेंट लगाना चाहते है उसके लिए हमारा SQL स्टेटमेंट होगा :

SELECT  SALARY + 500 FROM EMPLOYEE;




इसी प्रकार से हम अन्य ऑपरेटर्स का प्रयोग SQL स्टेटमेंट में कर सकते है | हम दो नंबर टाइप के कॉलम में भी इन ARITHMETIC ऑपरेटर्स का प्रयोग किया जा सकता है | EMPLOYEE टेबल में हम ने एक कॉलम और जोड़ दिया है जिसका नाम INCENTIVE  है | जिसे आप देख सकते है |




अगर आप चाहते है की SALARY में INCENTIVE को जोड़ दे और GROSS SALARY दिखाना चाहते है तो उसके लिए SQL स्टेटमेंट होगा :

SELECT (SALARY + INCENTIVE) FROM EMPLOYEE;




ऊपर जो आप रिजल्ट देख रहे है उसमे  (SALARY + INCENTIVE) दिख रहा है अगर आप उसे कुछ दूसरा नाम देना चाहते है जैसे (GROSS SALARY ) तो हम दे सकते है इसे हम COLUMN ALIASES कहते है |
SIMPLY कह सकते है किसी कॉलम का दूसरा नाम देना | इसके लिए हमारा SQL स्टेटमेंट होगा :




आप देख सकते की कॉलम ALIASES के दो तरीके है पर हमें ध्यान देना है की जब हम METHOD 1 का प्रयोग करे तो AS KEYWORD के बाद जो भी नया नाम देंगे उसमे स्पेस नहीं होना चाहिए जैसे हमने यहाँ ( _ ) UNDERSCORE का प्रयोग किया है |
METHOD 2 में हम जो भी लिखेंगे उसे ( " " ) में लिखना है |


आगे पढने के लिए नया पोस्ट देखे .....

Sunday, July 19, 2020

SQL क्या है ?


SQL  स्ट्रक्चर क्वेरी  लैंग्वेज (STRUCTURE QUERY LANGUAGE)


दोस्तों बहुत सरे लोंगो के मन में यह भ्रान्ति है की SQL एक सॉफ्टवेर है | पर यह सही नहीं है SQL एक लैंग्वेज है जिसके माध्यम से हम डेटाबेस में डाटा को स्टोर करा सकते है , डाटा को विभिन्न फोर्मेट में दिखा सकते है , डाटा में यदि कोई परिवर्तन करना है तो भी कर सकते है यह तो मैंने बात की डाटा की | 


SQL के माध्यम से हम डेटाबेस में भी परिवर्तन कर सकते है जैसे डेटाबेस का नाम परिवर्तित करना , डेटाबेस के ऑब्जेक्ट्स में परिवर्तन करना | यहाँ मैंने डेटाबेस के ऑब्जेक्ट कहा है , डेटाबेस में बहुत सरे ऑब्जेक्ट होते है जैसे टेबल , व्यू , synonyms , indexes , प्रोसीजर , फंक्शन आदि | इसके बारे में आगे मै विस्तार में जानकारी दूंगा |

अगर हम डेटाबेस की बात करे तो यह वह स्थान है जंहा हमारा डाटा रखा जाता है टेक्निकली हम कहे तो डेटाबेस एक RDBMS सॉफ्टवेर है जिसमे हम SQL लैंग्वेज का प्रयोग करके डाटा को मैनेज करते है | यहाँ पर डाटा को टेबल में रखा जाता है हम आप ने एक्सेल का प्रयोग तो किया ही है जिसमे ROW और COLUMN होते है हम डाटा को रो और कॉलम से ही समझते है किस रो में क्या डाटा है और किस कॉलम में क्या डाटा है | हम कह सकते है की टेबल रो और कॉलम से मिल कर बनती है |

SQL को कार्य के अनुसार  विभिन्न लैंग्वेजो में वर्गीकरण किया गया है :

१.  डी . डी . एल (DDL)
२.  डी . एम . एल (DML)
३.  डी . सी . एल (DCL)
४.  टी . सी . एल (TCL)

अब हम इन्हें विस्तार से समझते है :

१. डी . डी . एल (DDL) : डी.डी.एल लैंग्वेज का प्रयोग डेटाबेस में किसी भी ऑब्जेक्ट के स्ट्रक्चर को निम्न कमांड के द्वारा मैनेज किया जाता है :


  • क्रिएट (CREATE) कमांड : किसी भी ऑब्जेक्ट के स्ट्रक्चर बनाने या क्रिएट करने के लिए किया जाता है |

  • अल्टर (ALTER) कमांड    : किसी भी मौजूद (EXISTING) ऑब्जेक्ट में परिवर्तन के लिए किया जाता है |

  • ड्राप (DROP) कमांड      : किसी भी मौजूद (EXISTING) ऑब्जेक्ट को मिटने (DELETE) करने के लिए किया जाता है |

  • रीनेम (RENAME) कमांड  : किसी भी मौजूद (EXISTING) ऑब्जेक्ट के नाम में परिवर्तन के लिए किया जाता है |

  • ट्रंकेट (TRUNCATE)    : किसी भी मौजूद (EXISTING) ऑब्जेक्ट को परमानेंट मिटने (DELETE) करने के लिए किया जाता है |


२.  डी . एम . एल (DML) : डी.एम.एल किसी भी टेबल में डाटा को इन्सर्ट (INSERT) करने और डाटा को मैनेज करने के लिए किया जाता है |इसको करने के लिए निम्न लिखित कमांड का प्रयोग किया जाता है |

  • इन्सर्ट (INSERT)   : इन्सर्ट कमांड का प्रयोग टेबल में नया डाटा इन्सर्ट करने के लिए किया जाता है |

  • अपडेट (UPDATE) : अपडेट कमांड का प्रयोग मौजूदा डाटा को परिवर्तित करने के लिए किया जाता है |

  • डिलीट (DELETE)  : डिलीट कमांड का प्रयोग मौजूदा डाटा को हटाने के लिए किया जाता है | 

  • मर्ज (MERGE)      : मर्ज कमांड का प्रयोद दो या उससे ज्यादा टेबल के डाटा को मर्ज करने के लिए किया जाता है |



३.  डी . सी . एल (DCL) : डी.सी.एल का मतलब डाटा कंट्रोल लैंग्वेज (DATA CONTROL LANGUAGE) होता है | इसका प्रयोग यूजर को अनुमति(PERMISSION) प्रदान करने  या वापस(REVOKE) करने के लिए किया जाता है |इसके लिए निम्न लिखित कमांड का प्रयोग किया जाता है :


  • ग्रांट (GRANT)     : ग्रांट कमांड का प्रयोग अनुमति प्रदान करने के लिए किया जाता है |

  • रेवोके (REVOKE) : रेवोके कमांड का प्रयोग अनुमति वापस लेने के लिए किया जाता है |


४.  टी . सी . एल (TCL) : टी.सी.एल का मतलब ट्रांजीशन कंट्रोल लैंग्वेज(TRANSACTION CONTROL LANGUAGE) इसका प्रयोग किसी भी ट्रांजीशन को मैनेज करने के लिए किया जाता है ट्रांजीशन को आने वाले पोस्ट में हम डिटेल मेंसमझेंगे | इसमें  निम्न लिखित कमांड का प्रयोग किया जाता है :


  • कमिट (COMMIT)          : किसी ट्रांजीशन में जब हम कोई डी.एम.एल(DML) कमांड चलते है उससे हुए परिवर्तन को स्थाई रूप से डाटाबसे में सेव(SAVE) करने के लिए कमिट कमांड का प्रयोग किया जाता है | 

  • रोलबैक (ROLLBACK)     : किसी ट्रांजीशन में जब हम कोई डी.एम.एल(DML) कमांड चलते है उससे हुए परिवर्तन को स्थाई रूप से डाटाब से हटाने के लिए रोलबैक कमांड का प्रयोग किया जाता है | इसे आप UNDO जैसा ही समझे जैसे हम MSWORD या किसी एप्लीकेशन में किसी किये चेंज को वापस लेन के लिए (CTRL + Z ) करते है |

  • सेव पॉइंट (SAVE POINT) : सवेपोइंट का प्रयोग बहुत सरे ट्रांजीशन को मैनेज करने के लिए किया जाता है उसको लेबलिंग करके | इसको विस्तार में आग देखेंगे |


यह कुछ SQL के संबंध में जरूरी जानकारियां है जो मैंने संक्षिप्त में बताई आगे हम और विस्तार में पढेंगे |