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

चयन में MySQL वाइल्डकार्ड

ज़रुरी नहीं। आप * का उपयोग कर सकते हैं कॉलम वाइल्डकार्ड सभी स्तंभों का चयन करने के लिए। यदि आप एक से अधिक तालिकाओं में शामिल हो रहे हैं, तो आप * . उपसर्ग करके विशिष्ट तालिका से सभी स्तंभों का चयन कर सकते हैं तालिका नाम या उपनाम के साथ:

SELECT a.id, a.title, b.*
  FROM articles AS a
    JOIN blurbs AS b ON a.id = b.article

हालांकि, आपको * . का उपयोग नहीं करना चाहिए जब तक आप एक डीबी प्रशासन कार्यक्रम नहीं लिख रहे हैं।

वैकल्पिक रूप से, आप स्तंभ नाम प्राप्त करने के लिए तालिका मेटाडेटा लाकर SQL या किसी अन्य भाषा में एक कथन बना सकते हैं। केवल MySQL का उपयोग करके, आप COLUMNS<को क्वेरी कर सकते हैं /कोड> तालिका में INFORMATION_SCHEMA कॉलम नाम प्राप्त करने और GROUP_CONCAT कथन के लिए कॉलम सूची बनाने के लिए।

SELECT CONCAT(
      'SELECT ',
      GROUP_CONCAT(COLUMN_NAME SEPARATOR ', '),
      ' FROM ', :db, '.', :table,
      ' WHERE ...'
      )
  FROM INFORMATION_SCHEMA.COLUMNS
  WHERE TABLE_SCHEMA=:db AND TABLE_NAME=:table

":db", ":table" और "..." को उपयुक्त मानों से बदलें। आप इसे तैयार स्टेटमेंट में भी बदल सकते हैं ताकि आप इसे किसी भी टेबल के लिए इस्तेमाल कर सकें। वहां से, PREPARE और EXECUTE निर्मित कथन।

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

मुझे इस स्थिति को देखने में बहुत दिलचस्पी होगी कि वास्तव में इसकी आवश्यकता है..



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जहां ip=inet_pton($ip) का चयन नहीं किया जा सकता

  2. OS X पर MySQL रूट यूजर पासवर्ड सेट करना

  3. MySQL/MariaDB सर्वर को कैसे सुरक्षित करें

  4. MySQL में Oracle के REF CURSOR के बराबर क्या है?

  5. एक तालिका से सभी रिकॉर्ड प्रदर्शित करना और दूसरे से मिलान रिकॉर्ड प्रदर्शित करना