समाधान: SHOW COLUMNS में WHERE क्लॉज
MySQL का SHOW COLUMNS कमांड WHERE क्लॉज का समर्थन करता है, जिससे आप विशिष्ट कॉलम को परिणाम से बाहर कर सकते हैं।
सिंटैक्स
SHOW COLUMNS FROM yourTableName
WHERE Field NOT IN ('columnToExclude1', 'columnToExclude2');
व्यावहारिक उदाहरण
टेबल बनाना
mysql> CREATE TABLE excludeCertainColumnsDemo (
-> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> StudentName VARCHAR(100),
-> StudentAge INT,
-> StudentMarks INT,
-> StudentAddress VARCHAR(200)
-> );
पूर्ण टेबल संरचना (DESC)
mysql> DESC excludeCertainColumnsDemo; +----------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------------+--------------+------+-----+---------+----------------+ | StudentId | int(11) | NO | PRI | NULL | auto_increment | | StudentName | varchar(100) | YES | | NULL | | | StudentAge | int(11) | YES | | NULL | | | StudentMarks | int(11) | YES | | NULL | | | StudentAddress | varchar(200) | YES | | NULL | | +----------------+--------------+------+-----+---------+----------------+
StudentAge और StudentMarks को बाहर करके
mysql> SHOW COLUMNS FROM excludeCertainColumnsDemo
-> WHERE Field NOT IN ('StudentAge', 'StudentMarks');
परिणाम (3 कॉलम)
| Field | Type | Null | Key | Default | Extra |
|---|---|---|---|---|---|
| StudentId | int(11) | NO | PRI | NULL | auto_increment |
| StudentName | varchar(100) | YES | NULL | ||
| StudentAddress | varchar(200) | YES | NULL |
अन्य WHERE शर्तें
WHERE Field LIKE 'Student%'- पैटर्न मिलानWHERE Type = 'int(11)'- डेटा प्रकार द्वारा फ़िल्टरWHERE Key = 'PRI'- केवल प्राथमिक कुंजीWHERE Null = 'NO'- केवल NOT NULL कॉलम
INFORMATION_SCHEMA विकल्प
SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_KEY, COLUMN_DEFAULT, EXTRA
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'yourDatabase' AND TABLE_NAME = 'yourTable'
AND COLUMN_NAME NOT IN ('StudentAge', 'StudentMarks');
अधिक लचीला और प्रोग्रामेटिक रूप से उपयोगी।