Database
 sql >> डेटाबेस >  >> RDS >> Database

टी-एसक्यूएल क्या है?

ट्रांजैक्ट-एसक्यूएल, जिसे अक्सर टी-एसक्यूएल या यहां तक ​​​​कि टीएसक्यूएल के लिए संक्षिप्त किया जाता है, एसक्यूएल के लिए माइक्रोसॉफ्ट और साइबेस का मालिकाना विस्तार है। ट्रांजैक्ट-एसक्यूएल एसक्यूएल मानक पर विस्तार करता है ताकि अतिरिक्त सुविधाओं को शामिल किया जा सके जो एसक्यूएल मानक में शामिल नहीं हैं।

यहाँ एक साधारण T-SQL कथन का उदाहरण दिया गया है:

CREATE DATABASE Movies;

यह उतना ही सरल है जितना एक टी-एसक्यूएल उदाहरण मिल सकता है। यह Movies . नामक एक नया डेटाबेस बनाता है ।

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

टी-एसक्यूएल सुविधाएं

टी-एसक्यूएल की कुछ विशेषताओं में शामिल हैं:

  • प्रक्रियात्मक प्रोग्रामिंग
  • स्थानीय चर
  • स्ट्रिंग प्रसंस्करण, दिनांक प्रसंस्करण, गणित, आदि के लिए विभिन्न समर्थन कार्य
  • DELETE में परिवर्तन और UPDATE बयान। विशेष रूप से, वे एक FROM क्लॉज को जोड़ने की अनुमति देते हैं, जो जॉइन को शामिल करने की अनुमति देता है।
  • टी-एसक्यूएल में एक BULK INSERT है विवरण जो आपको डेटाबेस तालिका में डेटा फ़ाइल आयात करने या उपयोगकर्ता द्वारा निर्दिष्ट प्रारूप में देखने की अनुमति देता है।

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

टी-एसक्यूएल में बड़ी संख्या में बिल्ट-इन फ़ंक्शंस के साथ-साथ उपयोगकर्ता-परिभाषित फ़ंक्शंस का समर्थन भी शामिल है।

अंतर्निहित फ़ंक्शन का एक उदाहरण

यहां एक और बुनियादी उदाहरण दिया गया है, इस बार टी-एसक्यूएल के अंतर्निहित कार्यों में से एक का उपयोग करना:

SELECT GETDATE();

परिणाम:

2018-05-06 23:30:37.003

इस मामले में हम टी-एसक्यूएल के GETDATE() . का उपयोग करते हैं वर्तमान दिनांक और समय वापस करने के लिए कार्य। इसका उपयोग SELECT . के साथ किया जाता है स्टेटमेंट, जो डेटा लौटाने के लिए एक सामान्य SQL स्टेटमेंट है।

हम उस फ़ंक्शन का उपयोग किसी अन्य फ़ंक्शन के लिए तर्क के रूप में भी कर सकते हैं। यहां एक उदाहरण दिया गया है:

SELECT FORMAT(GETDATE(), 'MMM');

परिणाम:

May

इस मामले में हम टी-एसक्यूएल का उपयोग करते हैं FORMAT() तारीख के सिर्फ महीने के हिस्से को निकालने के लिए कार्य करता है, और इसे एक निश्चित प्रारूप में प्रस्तुत करता है। आप अधिक दिनांक/समय उदाहरण देख सकते हैं SQL सर्वर में दिनांक और समय को कैसे प्रारूपित करें।

T-SQL का इतिहास

हालाँकि Transact-SQL (और SQL सर्वर) को आमतौर पर Microsoft चीज़ के रूप में जाना जाता है, यह वास्तव में Microsoft और Sybase के बीच एक साझेदारी का परिणाम है जो 1987 में शुरू हुआ था। यह साझेदारी 1994 में भंग कर दी गई थी।

इसके बाद, टी-एसक्यूएल को दोनों कंपनियों द्वारा जारी डेटाबेस उत्पादों द्वारा समर्थित होना जारी रहा, हालांकि, प्रत्येक कंपनी ने अपने डेटाबेस उत्पादों को अपनी दिशा में विकसित किया। इसलिए, Sybase T-SQL और Microsoft T-SQL में कुछ अंतर हैं।

T-SQL और GUI टूल

ट्रांजैक्ट-एसक्यूएल SQL सर्वर के लिए केंद्रीय है। SQL सर्वर में अधिकांश ऑपरेशन T-SQL का उपयोग करके किए जाते हैं। यह सच है भले ही आप GUI टूल (जैसे SSMS या DBeaver) का उपयोग करते हैं और आप वास्तव में कोई प्रोग्रामिंग नहीं करते हैं। जब भी आप SQL सर्वर के साथ इंटरैक्ट करने के लिए किसी एप्लिकेशन का उपयोग करते हैं, तो एप्लिकेशन निर्दिष्ट कार्य को पूरा करने के लिए पर्दे के पीछे T-SQL का उपयोग करता है।

लेकिन SQL सर्वर केवल डेटाबेस प्रबंधन प्रणाली नहीं है जो Transact-SQL का समर्थन करता है। Microsoft Azure SQL डेटाबेस भी T-SQL को सपोर्ट करता है। अनुप्रयोगों द्वारा उपयोग की जाने वाली अधिकांश T-SQL सुविधाएँ Microsoft SQL Server और Azure SQL डेटाबेस (हालाँकि कुछ अपवाद हैं) दोनों में पूरी तरह से समर्थित हैं।

GO कमांड के बारे में

जिस किसी ने भी टी-एसक्यूएल का इस्तेमाल किया है, वह शायद GO . से परिचित होगा आज्ञा। यह कीवर्ड अक्सर बयानों के एक बैच के अंत में रखा जाता है। उदाहरण के लिए, ऊपर दिया गया पहला उदाहरण भी इस तरह लिखा जा सकता है:

CREATE DATABASE Movies;
GO

हालांकि, GO कमांड वास्तव में ट्रांजैक्ट-एसक्यूएल का हिस्सा नहीं है। वास्तव में, GO कमांड ट्रांजैक्ट-एसक्यूएल स्टेटमेंट के समान लाइन पर भी कब्जा नहीं कर सकता है।

GO sqlcmd . द्वारा पहचाने जाने वाले आदेशों में से एक है और ओस्क्ल उपयोगिताओं, साथ ही साथ SQL सर्वर प्रबंधन स्टूडियो कोड संपादक बैच और स्क्रिप्ट की पठनीयता और निष्पादन की सुविधा के लिए। GO कमांड SQL सर्वर उपयोगिताओं के लिए Transact-SQL कथनों के एक बैच के अंत का संकेत देता है।

SQL सर्वर उपयोगिताओं GO की व्याख्या करती हैं एक संकेत के रूप में कि उन्हें ट्रांजैक्ट-एसक्यूएल स्टेटमेंट के वर्तमान बैच को SQL सर्वर की आवृत्ति पर भेजना चाहिए। बयानों का वर्तमान बैच पिछले GO . के बाद से दर्ज किए गए सभी कथनों से बना है , या तदर्थ सत्र या स्क्रिप्ट की शुरुआत के बाद से यदि यह पहला GO है ।

अन्य मालिकाना SQL एक्सटेंशन

ट्रांजैक्ट-एसक्यूएल केवल एसक्यूएल मानक का विस्तार नहीं है। विभिन्न डेटाबेस सिस्टम के अपने एक्सटेंशन होते हैं। उदाहरण के लिए, Oracle PL/SQL नामक एक स्वामित्व वाली प्रक्रियात्मक भाषा का उपयोग करता है, और PostgreSQL PL/pgSQL नामक एक प्रक्रियात्मक भाषा का उपयोग करता है।

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DBCC_OBJECT_METADATA कुंडी

  2. प्लान एक्सप्लोरर 3.0 वेबिनार - नमूने और प्रश्न और उत्तर

  3. एसक्यूएल क्रॉस जॉइन

  4. बिग डेटा तेजी से लोड हो रहा है

  5. निष्पादन योजना ऑपरेटर समय को समझना