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

विशिष्ट डेटाबेस से सभी तालिका नाम, स्तंभ नाम और स्तंभ मान पुनर्प्राप्त करें

टेबल_नाम और कॉलम नाम प्राप्त करने के लिए आप इसका उपयोग कर सकते हैं:

SELECT
 CONCAT(`table_name`, '-',
    GROUP_CONCAT(`column_name` ORDER BY ordinal_position SEPARATOR ':')) AS result
FROM information_schema.columns
-- WHERE `table_name` = ?
GROUP BY `table_name`;

SqlFiddleDemo

आउटपुट:

╔══════════════╗
║    result    ║
╠══════════════╣
║ tab0-id:col  ║
║ tab1-id:col2 ║
║ tab2-id:col3 ║
╚══════════════╝

प्रत्येक कॉलम के लिए नमूना रिकॉर्ड प्राप्त करने के लिए आपको डायनामिक-एसक्यूएल का उपयोग करना होगा:

SET @sql = '';

SELECT @sql := CONCAT(@sql, 
                      '(SELECT ''', `table_name`, ''' AS tab_name, ''', 
                                 `column_name`, ''' AS column_name, ',
                                 `ordinal_position`, ' AS ordinal_pos, ',
                                 `column_name`, ' AS sample '
                       'FROM ', `table_name` ,         
                       ' LIMIT 1) UNION ALL ')
FROM information_schema.columns
WHERE `table_name` LIKE 'tab_';

SET @sql := SUBSTRING(@sql, 1, LENGTH(@sql) - 11);

SET @final_sql = 
'SELECT CONCAT(`tab_name`, ''-'',
    GROUP_CONCAT(CONCAT(`column_name`, '':'', sample ) ORDER BY ordinal_pos)) 
    AS result
 FROM ( <placeholder> ) AS sub
 GROUP BY tab_name';

SET @final_sql = REPLACE(@final_sql, '<placeholder>', @sql);

prepare s from @final_sql;
execute s;

deallocate prepare s;

SqlFiddleDemo2 SqlFiddleDemo3

आउटपुट:

╔════════════════════════════╗
║           result           ║
╠════════════════════════════╣
║ tab0-id:1,col:a            ║
║ tab1-id:10,col2:2          ║
║ tab2-id:20,col3:2016-01-26 ║
╚════════════════════════════╝



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL चयन क्वेरी के लिए WHERE क्लॉज में वेरिएबल का उपयोग कैसे करें

  2. संकलन त्रुटि:पहुँच के लिए VBA में अपेक्षित कार्य या चर

  3. उपयोगकर्ता परिभाषित चर उपनाम के रूप में MySQL v8.0 काम नहीं कर रहा है

  4. Mysql कमांड लाइन की डिस्प्ले सेटिंग्स को कैसे एडजस्ट करें?

  5. MySQL में CSV डेटा आयात करते समय खाली पूर्णांक फ़ील्ड के लिए डिफ़ॉल्ट मान