विभिन्न लोकप्रिय डेटाबेस प्रणालियों के लिए, आप एक तालिका के सभी कॉलमों को कैसे सूचीबद्ध करते हैं?
विभिन्न लोकप्रिय डेटाबेस प्रणालियों के लिए, आप एक तालिका के सभी कॉलमों को कैसे सूचीबद्ध करते हैं?
जवाबों:
MySQL के लिए, उपयोग करें:
DESCRIBE name_of_table;
यह ओरेकल के लिए भी तब तक काम करता है जब तक आप SQL * Plus या Oracle के SQL डेवलपर का उपयोग कर रहे हैं।
DESCRIBE
name_of_table`` होना चाहिए ;
DESCRIBE
ओरेकल PLSQL निर्देश नहीं है , लेकिन SQL * प्लस कमांड है , और इस तरह यह अधिकांश SQL IDE में काम नहीं करता है।
Oracle (PL / SQL) के लिए
SELECT column_name
FROM user_tab_cols
WHERE table_name = 'myTableName'
MySQL के लिए
SHOW COLUMNS FROM table_name
DESCRIBE name_of_table
।
user_tab_cols
आपकी क्वेरी में क्या है ?
MS SQL सर्वर के लिए:
select * from information_schema.columns where table_name = 'tableName'
information_schema.columns
सिस्टम दृश्य ANSI SQL
मानक ( लिंक ) का हिस्सा है ।
select COLUMN_NAME from information_schema.columns where table_name = 'tableName' and table_schema = 'databaseName'
(5 साल के लिए, पोस्टग्रेएसक्यूएल के सम्मान के लिए, राज्य का सबसे उन्नत डीडीबीबी)
PostgreSQL में:
\d table_name
या, SQL का उपयोग कर:
select column_name, data_type, character_maximum_length
from INFORMATION_SCHEMA.COLUMNS
where table_name = 'table_name';
मुझे पता है कि देर हो चुकी है लेकिन मैं इस कमांड का उपयोग Oracle के लिए करता हूँ:
select column_name,data_type,data_length from all_tab_columns where TABLE_NAME = 'xxxx' AND OWNER ='xxxxxxxxxx'
एस क्यू एल सर्वर
SELECT
c.name
FROM
sys.objects o
INNER JOIN
sys.columns c
ON
c.object_id = o.object_id
AND o.name = 'Table_Name'
या
SELECT
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'Table_Name'
दूसरा तरीका एक एएनएसआई मानक है और इसलिए सभी एएनएसआई अनुरूप डेटाबेस पर काम करना चाहिए ।
[
]
चारों ओर के नाम को संग्रहीत करता है, इसलिए क्वेरी को उनका उपयोग नहीं करना चाहिए, केवल सादे तालिका का नाम। अगर यह ओपी का इरादा नहीं था, तो कम से कम इस बारे में पता होना चाहिए।
<Table Name>
ने अस्पष्टता से बचा होगा। फिर भी, मुझे एहसास हुआ कि आपने इरादा किया होगा जैसा कि मैंने टिप्पणी लिखी है --- यह सिर्फ मामले में दूसरों को चेतावनी देने के लिए कोई नुकसान नहीं पहुंचाता है।
Microsoft SQL सर्वर प्रबंधन स्टूडियो 2008 R2:
एक क्वेरी संपादक में, यदि आप तालिका नाम (पूर्व dbo.MyTable) और हिट ALT+ के पाठ को उजागर करते हैं, तो आपको F1कॉलम नाम, प्रकार, लंबाई, आदि की एक सूची मिलेगी।
ALT+F1 जब आपने हाइलाइट किया dbo.MyTable
है तो इस साइट के अनुसार चलने के बराबर हैEXEC sp_help 'dbo.MyTable'
मुझे INFORMATION_SCHEMA.COLUMNS को काम करने के लिए भिन्नताएं नहीं मिल सकती हैं, इसलिए मैं इसके बजाय इसका उपयोग करता हूं।
एस क्यू एल सर्वर
डेटाबेस के सभी उपयोगकर्ता परिभाषित तालिकाओं को सूचीबद्ध करने के लिए:
use [databasename]
select name from sysobjects where type = 'u'
तालिका के सभी स्तंभों को सूचीबद्ध करने के लिए:
use [databasename]
select name from syscolumns where id=object_id('tablename')
SQL सर्वर में दूसरों पर बस थोड़ा सा सुधार (स्कीमा उपसर्ग अधिक महत्वपूर्ण होता जा रहा है!):
SELECT name
FROM sys.columns
WHERE [object_id] = OBJECT_ID('dbo.tablename');
उदाहरण:
select Table_name as [Table] , column_name as [Column] , Table_catalog as [Database], table_schema as [Schema] from information_schema.columns
where table_schema = 'dbo'
order by Table_name,COLUMN_NAME
बस मेरा कोड