जवाबों:
select * from information_schema.columns
where table_schema = 'your_db'
order by table_name,ordinal_position
बेहतर होगा कि आप सभी कॉलम नामों को आसानी से प्राप्त करने के लिए निम्नलिखित क्वेरी का उपयोग करें
Show columns from tablename
SELECT * FROM information_schema.columns
WHERE table_schema = DATABASE()
ORDER BY table_name, ordinal_position
चूँकि मेरे पास टिप्पणी करने के लिए पर्याप्त प्रतिनिधि नहीं है, यहाँ निक नियम के उत्कृष्ट उत्तर पर एक मामूली सुधार (मेरे विचार में): के WHERE table_schema = 'your_db'
साथ बदल रहा है WHERE table_schema = DATABASE()
।
इस विचार पर कि यह किसी और के लिए उपयोगी है, इससे आपको प्रत्येक तालिका में स्तंभों की अल्पविराम वाली सूची मिल जाएगी:
SELECT table_name,GROUP_CONCAT(column_name ORDER BY ordinal_position)
FROM information_schema.columns
WHERE table_schema = DATABASE()
GROUP BY table_name
ORDER BY table_name
नोट: अधिक संख्या में कॉलम और / या लंबे क्षेत्र के नामों के साथ तालिकाओं का उपयोग करते समय, group_concat_max_len सीमा से अवगत रहें , जिसके कारण डेटा छोटा हो सकता है।
<?php
$table = 'orders';
$query = "SHOW COLUMNS FROM $table";
if($output = mysql_query($query)):
$columns = array();
while($result = mysql_fetch_assoc($output)):
$columns[] = $result['Field'];
endwhile;
endif;
echo '<pre>';
print_r($columns);
echo '</pre>';
?>
@Suganya द्वारा पोस्ट किए गए उत्तर के समान यह सीधे सवाल का जवाब नहीं देता है, लेकिन एक एकल तालिका के लिए एक तेज विकल्प है:
DESCRIBE column_name;
सवाल यह था:
क्या सभी तालिकाओं को सूचीबद्ध किए बिना, MySQL के सभी तालिकाओं से सभी COLUMN NAMES प्राप्त करने का एक तेज़ तरीका है?
प्रत्येक स्तंभ के लिए सभी जानकारी प्राप्त करने के लिए एसक्यूएल
select * from information_schema.columns
where table_schema = 'your_db'
order by table_name,ordinal_position
SQL सभी COLAMN नाम पाने के लिए
select COLUMN_NAME from information_schema.columns
where table_schema = 'your_db'
order by table_name,ordinal_position
मैंने यह मूर्खतापूर्ण बात बहुत पहले लिखी थी और अभी भी वास्तव में इसका उपयोग अभी और फिर:
https://gist.github.com/kphretiq/e2f924416a326895233d
असल में, यह एक "शो टेबल" करता है, फिर प्रत्येक टेबल पर एक "DESCRIBE" होता है, फिर इसे मार्कडाउन के रूप में बाहर निकालता है।
बस "यदि नाम " के नीचे संपादित करें और जाएं। आपको pymysql इंस्टॉल करना होगा।
कुछ पठनीय php के साथ निकोला के जवाब पर गुल्लक
$a = mysqli_query($conn,"select * from information_schema.columns
where table_schema = 'your_db'
order by table_name,ordinal_position");
$b = mysqli_fetch_all($a,MYSQLI_ASSOC);
$d = array();
foreach($b as $c){
if(!is_array($d[$c['TABLE_NAME']])){
$d[$c['TABLE_NAME']] = array();
}
$d[$c['TABLE_NAME']][] = $c['COLUMN_NAME'];
}
echo "<pre>",print_r($d),"</pre>";