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

SQL सर्वर सूची तालिकाएँ:सभी तालिकाएँ कैसे दिखाएं

आपके द्वारा चलाए जा रहे SQL सर्वर के संस्करण के आधार पर, सभी उपयोगकर्ता-निर्मित तालिकाओं की सूची को क्वेरी करने और वापस करने की विधि थोड़ी भिन्न हो सकती है। नीचे हम संक्षेप में उन TSQL कथनों की जाँच करेंगे जिनका उपयोग पुराने SQL Server 2000 और नए 2005 संस्करण या उसके बाद की तालिका सूची को पुनः प्राप्त करने के लिए किया जा सकता है।

SQL Server 2000 में टेबल्स को सूचीबद्ध करना

SQL सर्वर के पुराने संस्करणों के लिए (जैसे SQL Server 2000, हालांकि यह विधि बैकवर्ड संगतता के लिए SQL Server 2005 में भी समर्थित है), आपको SYS.SYSOBJECTS को क्वेरी करने की आवश्यकता होगी। मेटाडेटा दृश्य। SYS.SYSOBJECTS डेटाबेस में बनाई गई प्रत्येक वस्तु के लिए एक पंक्ति होती है, जिसमें stored procedures . शामिल हैं , views , और user tables (जो system tables . से अलग होना महत्वपूर्ण है ।)

SYSOBJECTS तालिका में डेटा के दो दर्जन कॉलम होते हैं क्योंकि इसमें समय के साथ सर्वर में जोड़े गए लगभग हर चीज के बारे में जानकारी होनी चाहिए। इसलिए, उपयोगकर्ता द्वारा बनाई गई तालिकाओं की सूची खोजने के लिए (इस प्रकार system tables . को अनदेखा करना ), हमें ऐसे परिणाम खोजने होंगे जहां xtype कॉलम (जो object type निर्दिष्ट करता है) उस पंक्ति के लिए) U . के मान के बराबर है , जिसका अर्थ है user table . परिणामी TSQL कथन इस तरह दिखना चाहिए:

SELECT
  *
FROM
  SYSOBJECTS
WHERE
  xtype = 'U';
GO

नोट:चूंकि SYSOBJECTS SYS . का हिस्सा हैं SYSOBJECTS . को क्वेरी करते समय नाम स्थान यह निर्दिष्ट करना अनावश्यक है कि SYSOBJECTS वैश्विक SYS का हिस्सा है नाम स्थान, इसलिए हम इसे छोड़ सकते हैं जैसा कि ऊपर के उदाहरण में दिखाया गया है।

यह सभी उपयोगकर्ता-निर्मित तालिकाओं की परिणाम सूची लौटाएगा। चूंकि सभी स्तंभों को क्वेरी करते समय लौटाई गई जानकारी की मात्रा काफी बड़ी है, आप केवल name देखकर परिणामों को ट्रिम करना चाह सकते हैं कॉलम और शायद crdate (निर्माण की तारीख):

SELECT
  name,
  crdate
FROM
  SYSOBJECTS
WHERE
  xtype = 'U';
GO

SQL Server 2005 या नए में लिस्टिंग टेबल्स

नए संस्करण (एसक्यूएल 2005 या उच्चतर) का उपयोग करते समय SQL सर्वर में सभी तालिकाओं को सूचीबद्ध करना INFORMATION_SCHEMA को क्वेरी करने का विषय है दृश्य जो स्वचालित रूप से SQL सर्वर में निर्मित होते हैं। ये आपको इस विशेष SQL सर्वर इंस्टेंस के लिए मेटाडेटा की एक विस्तृत विविधता को आसानी से देखने की अनुमति देते हैं, जिसमें COLUMNS के बारे में जानकारी शामिल है। , ROUTINES , और यहां तक ​​कि TABLES

आप देख सकते हैं कि INFORMATION_SCHEMA.TABLES का उपयोग करते समय चार कॉलम वापस आ गए हैं देखें, लेकिन सबसे महत्वपूर्ण कॉलम है TABLE_TYPE , जो निर्धारित करता है कि क्या उस पंक्ति की तालिका एक वास्तविक तालिका है (BASE TABLE ) या एक दृश्य (VIEW )।

सभी तालिकाओं को वापस करने के लिए और एक प्रश्न में विचार, निम्नलिखित TSQL कथन निष्पादित करें:

SELECT
  *
FROM
  INFORMATION_SCHEMA.TABLES;
GO

उस डेटाबेस को निर्दिष्ट करना भी बुद्धिमानी हो सकती है जिसे आप क्वेरी करना चाहते हैं:

SELECT
  *
FROM
  databaseName.INFORMATION_SCHEMA.TABLES;
GO

यदि आप केवल वास्तविक तालिकाएँ प्राप्त करना चाहते हैं और परिणामों से दृश्यों को फ़िल्टर करना चाहते हैं, तो एक WHERE TABLE_TYPE = 'BASE TABLE' जोड़ें खंड:

SELECT
  *
FROM
  databaseName.INFORMATION_SCHEMA.TABLES
WHERE
  TABLE_TYPE = 'BASE TABLE';
GO

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मुझे स्टोर प्रक्रिया में चयन कथन में चर का उपयोग करके कॉलम नाम पास करने की आवश्यकता है, लेकिन मैं गतिशील क्वेरी का उपयोग नहीं कर सकता

  2. SQL सर्वर त्रुटि 7222:"इस उदाहरण पर केवल एक SQL सर्वर प्रदाता की अनुमति है"

  3. SQL सर्वर 2016:संबंध बनाएं

  4. डेटाटाइम के लिए एसएसआईएस स्रोत प्रारूप निहित रूपांतरण

  5. MDF फ़ाइल को SQL सर्वर से कनेक्ट करने के 3 तरीके