MySQL में टेबल कॉलम कैसे सूचीबद्ध करें (SHOW COLUMNS, DESCRIBE, INFORMATION_SCHEMA)

目次

1. Introduction

MySQL के साथ डेटाबेस को डिजाइन और मैनेज करते समय टेबल कॉलम की सूची कैसे प्राप्त करें यह जानना अत्यंत आवश्यक है।
कॉलम सूची की जाँच करके आप टेबल की संरचना को आसानी से समझ सकते हैं, डेटा की संगति बनाए रख सकते हैं, और इष्टतम क्वेरी डिज़ाइन कर सकते हैं।

विशेष रूप से, आपको निम्नलिखित स्थितियों में कॉलम सूची प्राप्त करने की आवश्यकता पड़ सकती है:

  • डेटाबेस संरचना की जाँच करते समय
  • नए कॉलम जोड़ते या हटाते समय
  • मौजूदा कॉलम नाम या डेटा टाइप की पुष्टि करते समय
  • किसी विशिष्ट कॉलम वाले टेबल की खोज करते समय
  • अपने एप्लिकेशन में टेबल को डायनामिक रूप से प्रोसेस करते समय

इस लेख में हम MySQL कॉलम लिस्टिंग विधियों को विस्तार से समझाते हैं, बुनियादी से लेकर उन्नत तकनीकों तक।
हम SQL निष्पादन उदाहरण, ऑटोमेशन स्क्रिप्ट, और एरर हैंडलिंग जैसे व्यावहारिक सामग्री भी शामिल करते हैं, इसलिए यह शुरुआती से मध्यवर्ती उपयोगकर्ताओं तक के विस्तृत पाठकों के लिए उपयोगी है।

2. Basic Ways to List Columns

MySQL कॉलम की सूची प्राप्त करने के कई तरीके प्रदान करता है। सबसे सामान्य विधियाँ SHOW COLUMNS और DESCRIBE का उपयोग करना हैं।

2-1. Retrieve Columns with SHOW COLUMNS

MySQL में टेबल की कॉलम सूची प्राप्त करने का सबसे सरल तरीका SHOW COLUMNS स्टेटमेंट का उपयोग करना है।

Usage

SHOW COLUMNS FROM table_name;

वैकल्पिक रूप से, आप FROM के बजाय IN का उपयोग कर सकते हैं।

SHOW COLUMNS IN table_name;

Information You Can Retrieve

जब आप SHOW COLUMNS चलाते हैं, तो आप निम्नलिखित जानकारी प्राप्त कर सकते हैं।

Column Name (Field)Data Type (Type)Allows NULL (Null)Key (Key)Default Value (Default)Other (Extra)
idint(11)NOPRINULLauto_increment
namevarchar(255)YES NULL 
ageint(3)YES NULL 

Example

उदाहरण के लिए, users टेबल की कॉलम सूची प्राप्त करने के लिए निम्नलिखित SQL चलाएँ।

SHOW COLUMNS FROM users;

Output:

+-------+--------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | varchar(255)| YES  |     | NULL    |                |
| age   | int(3)      | YES  |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+

Pros and Cons of SHOW COLUMNS

Pros

  • सरल और उपयोग में आसान
  • टेबल संरचना को जल्दी समझने में मदद करता है

Cons

  • केवल विशिष्ट कॉलम प्राप्त करना कठिन
  • WHERE क्लॉज़ का उपयोग करके परिणाम फ़िल्टर नहीं कर सकते

2-2. Retrieve Columns with DESCRIBE

DESCRIBE स्टेटमेंट लगभग वही कार्यक्षमता प्रदान करता है जो SHOW COLUMNS देता है।

Usage

DESCRIBE table_name;

उदाहरण के लिए, users टेबल के कॉलम जानकारी प्राप्त करने के लिए:

DESCRIBE users;

Output:

+-------+--------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | varchar(255)| YES  |     | NULL    |                |
| age   | int(3)      | YES  |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+

Difference Between DESCRIBE and SHOW COLUMNS

DESCRIBE SHOW COLUMNS का एक उपनाम है, इसलिए परिणाम मूलतः समान होते हैं।
हालाँकि, SHOW COLUMNS थोड़ा बेहतर है क्योंकि यह अधिक विस्तृत विकल्पों का समर्थन करता है।

2-3. Check Column Lists with MySQL Workbench or phpMyAdmin

आप कमांड लाइन के बजाय GUI टूल्स का उपयोग करके भी कॉलम सूची देख सकते हैं।

MySQL Workbench में, टेबल पर राइट‑क्लिक करके “Show Table Structure” चुनें
phpMyAdmin में, लक्ष्य टेबल पर क्लिक करें और “Structure” टैब के तहत सूची देखें

यदि आप CLI से सहज नहीं हैं, तो GUI टूल्स आपको अधिक सहज रूप से काम करने में मदद कर सकते हैं।

Summary

इस लेख में हमने MySQL में कॉलम सूची प्राप्त करने के बुनियादी तरीकों को कवर किया, विशेष रूप से SHOW COLUMNS और DESCRIBE पर ध्यान केंद्रित किया।

Key Takeaways

SHOW COLUMNS कॉलम सूचीबद्ध करने का सबसे सामान्य तरीका है
DESCRIBE लगभग वही परिणाम देता है जो SHOW COLUMNS देता है
✔ आप GUI टूल्स (MySQL Workbench, phpMyAdmin) का उपयोग करके भी कॉलम सूची देख सकते हैं

3. उन्नत: शर्तों का उपयोग करके कॉलम खोजें

SHOW COLUMNS और DESCRIBE सुविधाजनक हैं, लेकिन जब बड़ी संख्या में टेबल या कॉलम के साथ काम कर रहे हों,
आप अधिक लचीली खोज चाहते हैं।
ऐसे मामलों में, INFORMATION_SCHEMA का उपयोग बहुत मददगार होता है।
यहाँ हम समझाते हैं कैसे पूरे डेटाबेस में कॉलम की सूची प्राप्त करें और कैसे उन टेबलों को खोजें जिनमें कोई विशिष्ट कॉलम मौजूद है

3-1. डेटाबेस में सभी टेबलों के लिए कॉलम सूची प्राप्त करें

MySQL एक सिस्टम व्यू प्रदान करता है जिसका नाम INFORMATION_SCHEMA.COLUMNS है।
इसे उपयोग करके आप पूरे डेटाबेस के लिए कॉलम जानकारी प्राप्त कर सकते हैं।

SQL सिंटैक्स

SELECT table_name, column_name
FROM information_schema.columns
WHERE table_schema = 'database_name';

उदाहरण

उदाहरण के लिए, my_database में सभी टेबल नाम और कॉलम नाम प्राप्त करने के लिए:

SELECT table_name, column_name
FROM information_schema.columns
WHERE table_schema = 'my_database';

आउटपुट

+------------+--------------+
| table_name | column_name  |
+------------+--------------+
| users      | id           |
| users      | name         |
| users      | email        |
| orders     | id           |
| orders     | user_id      |
| orders     | total_price  |
+------------+--------------+

यह एक नज़र में कौन से टेबल में कौन से कॉलम हैं देखना आसान बनाता है।

3-2. किसी विशिष्ट कॉलम वाले टेबल खोजें

यदि आप केवल उन टेबलों की खोज करना चाहते हैं जिनमें कोई विशिष्ट कॉलम है,
तो आप इसे INFORMATION_SCHEMA.COLUMNS के साथ भी कर सकते हैं।

SQL सिंटैक्स

SELECT table_name
FROM information_schema.columns
WHERE column_name = 'column_name'
AND table_schema = 'database_name';

उदाहरण

उदाहरण के लिए, my_database में email कॉलम वाले टेबल खोजने के लिए:

SELECT table_name
FROM information_schema.columns
WHERE column_name = 'email'
AND table_schema = 'my_database';

आउटपुट

+------------+
| table_name |
+------------+
| users      |
| customers  |
+------------+

यह दर्शाता है कि email कॉलम users टेबल और customers टेबल में मौजूद है।

3-3. विस्तृत कॉलम जानकारी प्राप्त करें

INFORMATION_SCHEMA.COLUMNS के साथ, आप डेटा प्रकार, NULL अनुमति, और डिफ़ॉल्ट मान जैसी विस्तृत जानकारी भी प्राप्त कर सकते हैं।

SQL सिंटैक्स

SELECT column_name, data_type, is_nullable, column_default
FROM information_schema.columns
WHERE table_name = 'table_name'
AND table_schema = 'database_name';

उदाहरण

उदाहरण के लिए, users टेबल में प्रत्येक कॉलम के लिए विस्तृत जानकारी प्राप्त करने के लिए:

SELECT column_name, data_type, is_nullable, column_default
FROM information_schema.columns
WHERE table_name = 'users'
AND table_schema = 'my_database';

आउटपुट

+-------------+-----------+------------+--------------+
| column_name | data_type | is_nullable | column_default |
+-------------+-----------+------------+--------------+
| id          | int       | NO         | NULL         |
| name        | varchar   | YES        | NULL         |
| email       | varchar   | YES        | NULL         |
| age         | int       | YES        | NULL         |
+-------------+-----------+------------+--------------+

3-4. INFORMATION_SCHEMA का उपयोग करते समय लाभ और नोट्स

लाभ

आप पूरे डेटाबेस के लिए कॉलम जानकारी प्राप्त कर सकते हैं (SHOW COLUMNS के साथ, आप केवल एक टेबल की जानकारी ही प्राप्त कर सकते हैं)
आप SQL क्वेरीज़ का उपयोग करके स्वतंत्र रूप से फ़िल्टर कर सकते हैं (आप WHERE क्लॉज़ का उपयोग करके केवल विशिष्ट कॉलम प्राप्त कर सकते हैं)
आप अन्य जानकारी के साथ JOIN कर सकते हैं और संयोजित कर सकते हैं

नोट्स

answer.⚠ बड़े डेटाबेस में, क्वेरीज़ धीमी हो सकती हैं
यदि आप लक्ष्य डेटाबेस के लिए table_schema निर्दिष्ट नहीं करते हैं, तो अनावश्यक जानकारी शामिल हो सकती है

सारांश

इस अनुभाग में, हमने INFORMATION_SCHEMA.COLUMNS का उपयोग करके समझाया
कैसे पूरे डेटाबेस में कॉलम सूची प्राप्त करें और कैसे किसी विशिष्ट कॉलम वाले टेबल को खोजें

मुख्य बिंदु

INFORMATION_SCHEMA.COLUMNS के साथ, आप विशिष्ट कॉलम की खोज कर सकते हैं, न कि पूरे टेबल की।
SHOW COLUMNS की तुलना में, यह SQL क्वेरीज़ के साथ स्वतंत्र फ़िल्टरिंग सक्षम करता है।
✔ आप विस्तृत कॉलम जानकारी (डेटा टाइप, NULL अनुमति, डिफ़ॉल्ट मान, आदि) भी प्राप्त कर सकते हैं।
✔ बड़े डेटाबेस के लिए, आपको प्रदर्शन पर ध्यान देना चाहिए।

4. स्वचालन: स्क्रिप्ट्स के साथ कॉलम सूचियों को प्राप्त करें

आप SHOW COLUMNS या INFORMATION_SCHEMA का उपयोग करके मैन्युअल रूप से कॉलम सूचियों को प्राप्त कर सकते हैं, लेकिन
आपको हर बार SQL चलाना असुविधाजनक लग सकता है

विशेष रूप से, कॉलम सूचियों की स्वचालित प्राप्ति निम्नलिखित मामलों में उपयोगी है:

  • जब आप डेटाबेस संरचना में बदलावों की निगरानी करना चाहते हैं
  • जब आप स्कीमा परिवर्तन इतिहास को प्रबंधित करने के लिए समय-समय पर कॉलम सूचियों को रिकॉर्ड करना चाहते हैं
  • जब आप अन्य सिस्टम्स के साथ एकीकरण करना चाहते हैं और कॉलम जानकारी को गतिशील रूप से प्राप्त करना चाहते हैं

यह अनुभाग Python या Shell स्क्रिप्ट्स का उपयोग करके MySQL कॉलम सूचियों को स्वचालित रूप से कैसे प्राप्त करें समझाता है।

4-1. Python के साथ कॉलम सूचियों को प्राप्त करें

Python mysql-connector-python नामक लाइब्रेरी प्रदान करता है। इसका उपयोग करके आप MySQL से कनेक्ट हो सकते हैं और कॉलम सूचियों को प्राप्त कर सकते हैं।

Python स्क्रिप्ट तैयार करें

यदि लाइब्रेरी स्थापित नहीं है, तो निम्न कमांड से इसे स्थापित करें।

pip install mysql-connector-python

Python स्क्रिप्ट

अगला, नीचे दिया गया स्क्रिप्ट बनाएं।
यह स्क्रिप्ट किसी विशिष्ट टेबल के लिए कॉलम सूची को प्राप्त करता है और प्रिंट करता है।

import mysql.connector

# Configure MySQL connection settings
config = {
    'user': 'your_user',
    'password': 'your_password',
    'host': 'localhost',
    'database': 'your_database'
}

# Connect to MySQL
conn = mysql.connector.connect(**config)
cursor = conn.cursor()

# Table name to retrieve
table_name = "users"

# Retrieve column list
query = f"SELECT column_name FROM information_schema.columns WHERE table_name = '{table_name}' AND table_schema = '{config['database']}'"
cursor.execute(query)

# Print results
columns = cursor.fetchall()
print(f"Column list for [{table_name}]:")
for column in columns:
    print(column[0])

# Close connection
cursor.close()
conn.close()

स्क्रिप्ट चलाएँ

जब आप स्क्रिप्ट चलाते हैं, तो यह नीचे दी गई तरह की कॉलम सूची प्रिंट करता है।

Column list for [users]:
id
name
email
age

4-2. शेल स्क्रिप्ट के साथ कॉलम सूचियों को प्राप्त करें

आप Python का उपयोग किए बिना Shell स्क्रिप्ट (Bash) के साथ भी कॉलम सूची प्राप्त कर सकते हैं।
Linux वातावरण और सर्वर प्रशासन में, यह एक तेज़ और सुविधाजनक विकल्प हो सकता है।

Shell स्क्रिप्ट तैयार करें

नीचे दी गई स्क्रिप्ट बनाएं और इसे mysql_columns.sh के रूप में सहेजें।

#!/bin/bash

DB_NAME="your_database"
TABLE_NAME="users"
USER="your_user"
PASSWORD="your_password"

# Retrieve column list using the MySQL command
mysql -u$USER -p$PASSWORD -D$DB_NAME -e "SELECT column_name FROM information_schema.columns WHERE table_name = '$TABLE_NAME' AND table_schema = '$DB_NAME';"

कैसे चलाएँ

एक्जीक्यूट अनुमति दें और इसे चलाएँ।

chmod +x mysql_columns.sh
./mysql_columns.sh

आउटपुट

column_name
id
name
email
age

यह विधि आपको Linux सर्वर पर जल्दी से कॉलम सूचियों को प्राप्त करने देती है।

4-3. समय-समय पर कॉलम सूचियों को प्राप्त करें और सहेजें (Cron जॉब)

स्क्रिप्ट्स को मैन्युअल रूप से चलाने के बजाय, आप समय-समय पर कॉलम सूचियों को प्राप्त कर उन्हें फ़ाइल में सहेज भी सकते हैं।
उदाहरण के लिए, आप स्कीमा परिवर्तन को ट्रैक करने के लिए दिन में एक बार कॉलम सूची को लॉग कर सकते हैं।

चरण

  1. एक Python स्क्रिप्ट या Shell स्क्रिप्ट बनाएं (ऊपर दी गई का उपयोग करें)
  2. आउटपुट को एक फ़ाइल में सहेजें
  3. cron जॉब कॉन्फ़िगर करें

उदाहरण Shell स्क्रिप्ट जो आउटपुट सहेजती है

#!/bin/bash

DB_NAME="your_database"
TABLE_NAME="users"
USER="your_user"
PASSWORD="your_password"
OUTPUT_FILE="/path/to/logs/${TABLE_NAME}_columns_$(date +\%Y\%m\%d).txt"

# Retrieve column list and save to a file
mysql -u$USER -p$PASSWORD -D$DB_NAME -e "SELECT column_name FROM information_schema.columns WHERE table_name = '$TABLE_NAME' AND table_schema = '$DB_NAME';" > $OUTPUT_FILE

cron जॉब कॉन्फ़िगर करें

cron कॉन्फ़िगरेशन खोलने के लिए निम्न कमांड चलाएँ।

crontab -e

फिर निम्न पंक्ति जोड़ें। (हर दिन सुबह 3:00 बजे चलती है.)

0 3 * * * /path/to/mysql_columns.sh

यह ऑटोमेशन सक्षम करता है जो हर दिन कॉलम सूचियों को प्राप्त करता है और उन्हें फ़ाइल में सहेजता है

Summary

इस भाग में, हमने स्क्रिप्ट्स के साथ MySQL कॉलम सूचियों को स्वचालित रूप से प्राप्त करने के तरीके समझाए।

Key Takeaways

आप Python स्क्रिप्ट (MySQL कनेक्टर का उपयोग करके) से कॉलम सूचियों को प्राप्त कर सकते हैं
आप MySQL कमांड का उपयोग करके Shell स्क्रिप्ट से भी इन्हें प्राप्त कर सकते हैं
आप कॉलम सूचियों को समय-समय पर लॉग करने के लिए cron जॉब्स का उपयोग कर सकते हैं
यह डेटाबेस स्कीमा परिवर्तन इतिहास को ट्रैक करने में उपयोगी है

अगले लेख में, हम समझाते हैं “त्रुटियों को कैसे ठीक करें जब वे उत्पन्न हों।” यदि आप परमिशन त्रुटियों और SHOW COLUMNS या INFORMATION_SCHEMA चलाते समय उन्हें कैसे ठीक करें के बारे में सीखना चाहते हैं, तो अगले भाग को भी ज़रूर देखें!

5. त्रुटि संभालना: परमिशन त्रुटियों को कैसे ठीक करें

MySQL में SHOW COLUMNS या INFORMATION_SCHEMA के साथ कॉलम सूचियों को प्राप्त करते समय, आपको “permission denied” जैसी त्रुटियों का सामना करना पड़ सकता है।

यह भाग सामान्य कारणों और समाधान को समझाता है।

5-1. यदि आपको SHOW COLUMNS के साथ त्रुटि मिलती है

SHOW COLUMNS चलाने पर, आपको नीचे दी गई जैसी त्रुटि दिख सकती है।

ERROR 1142 (42000): SELECT command denied to user 'user'@'localhost' for table 'users'

कारण

यह त्रुटि इसलिए आती है क्योंकि उपयोगकर्ता के पास तालिका पर SELECT अधिकार नहीं हैSHOW COLUMNS को SELECT अधिकार की आवश्यकता होती है।

समाधान

एक प्रशासक (root उपयोगकर्ता) के रूप में लॉगिन करें और लक्ष्य उपयोगकर्ता को SELECT अधिकार प्रदान करें।

GRANT SELECT ON your_database.* TO 'user'@'localhost';
FLUSH PRIVILEGES;

उसके बाद, SHOW COLUMNS काम करना चाहिए।

5-2. यदि आपको INFORMATION_SCHEMA के साथ त्रुटि मिलती है

INFORMATION_SCHEMA का उपयोग करके क्वेरी चलाने पर, आपको नीचे दी गई जैसी त्रुटि दिख सकती है।

ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: YES)

कारण

INFORMATION_SCHEMA को क्वेरी करने के लिए, आपको केवल SELECT अधिकार ही नहीं, बल्कि INFORMATION_SCHEMA तक पहुँचने का अधिकार भी चाहिए।

समाधान

निम्न कमांड्स के साथ INFORMATION_SCHEMA तक पहुँच प्रदान करें।

GRANT SELECT ON information_schema.* TO 'user'@'localhost';
FLUSH PRIVILEGES;

यह INFORMATION_SCHEMA.COLUMNS तक पहुँच को सक्षम करता है।

5-3. यदि root उपयोगकर्ता होने पर भी त्रुटियाँ आती हैं

कुछ वातावरणों में, root उपयोगकर्ता के पास भी SHOW COLUMNS या INFORMATION_SCHEMA तक सीमित पहुँच हो सकती है। ऐसे में, अधिकारों की जाँच करें।

अधिकार कैसे जाँचें

SHOW GRANTS FOR 'root'@'localhost';

यदि ALL PRIVILEGES प्रदान नहीं किया गया है, तो आप इसे इस प्रकार ठीक कर सकते हैं:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

5-4. MySQL 8.0 में परमिशन परिवर्तन

MySQL 8.0 में, कुछ डिफ़ॉल्ट अधिकार सेटिंग्स बदल गई हैं। विशेष रूप से, डिफ़ॉल्ट रूप से INFORMATION_SCHEMA तक पहुँच प्रतिबंधित हो सकती है, जिससे त्रुटियाँ हो सकती हैं।

समाधान

MySQL 8.0 में, आपको mysql डेटाबेस पर SELECT अधिकार देना पड़ सकता है।

GRANT SELECT ON mysql.* TO 'user'@'localhost';
FLUSH PRIVILEGES;

यह MySQL 8.0 में भी INFORMATION_SCHEMA क्वेरीज़ को काम करने की अनुमति दे सकता है।

5-5. यदि MySQL Workbench में “Access denied” दिखे

MySQL Workbench में SHOW COLUMNS चलाते समय, आपको इस तरह का त्रुटि संदेश मिल सकता है:

Error: Access denied; you need (at least one of) the SELECT privilege(s) for this operation

समाधान

MySQL Workbench में, आप GUI के माध्यम से भी विशेषाधिकार प्रदान कर सकते हैं।

  1. “Administration” → “Users and Privileges” खोलें
  2. लक्षित उपयोगकर्ता चुनें
  3. “Schema Privileges” टैब में, SELECT विशेषाधिकार प्रदान करें
  4. सहेजने के लिए “Apply” पर क्लिक करें

यह MySQL Workbench को कॉलम सूची सफलतापूर्वक प्राप्त करने में सक्षम करेगा।

सारांश

इस भाग में, हमने MySQL में SHOW COLUMNS और INFORMATION_SCHEMA चलाते समय त्रुटियों को कैसे हल करें समझाया।

मुख्य बिंदु

SHOW COLUMNS त्रुटियों का कारण अक्सर SELECT विशेषाधिकार की कमी होता है → इसे GRANT SELECT से ठीक करें
INFORMATION_SCHEMA त्रुटियों का कारण अक्सर information_schema.* तक पहुँच न होना होता है → इसे GRANT SELECT ON information_schema.* से ठीक करें
MySQL 8.0 में, आपको mysql.* पर भी विशेषाधिकार की आवश्यकता हो सकती है
MySQL Workbench के विशेषाधिकार त्रुटियों को GUI के माध्यम से ठीक किया जा सकता है

6. GUI टूल्स का उपयोग करके कॉलम सूची कैसे जांचें

अब तक, हमने SQL कमांड्स का उपयोग करके कॉलम सूची प्राप्त करने के तरीके प्रस्तुत किए हैं, लेकिन GUI (ग्राफिकल यूज़र इंटरफ़ेस) टूल्स के साथ आप दृश्य रूप से कॉलम की पुष्टि कर सकते हैं।

GUI टूल्स विशेष रूप से निम्नलिखित स्थितियों में उपयोगी होते हैं:

  • जब SQL से परिचित नहीं उपयोगकर्ता डेटाबेस संरचना को सहज रूप से देखना चाहते हैं
  • जब आप जल्दी से किसी तालिका की कॉलम सूची देखना चाहते हैं
  • जब आप जल्दी से कॉलम डेटा प्रकार और प्रतिबंधों को समझना चाहते हैं

यह भाग प्रमुख GUI टूल्स जैसे MySQL Workbench और phpMyAdmin का उपयोग करके कॉलम सूची कैसे जांचें, समझाता है।

6-1. MySQL Workbench में कॉलम सूची जांचें

MySQL Workbench क्या है?

MySQL Workbench MySQL का आधिकारिक डेटाबेस प्रबंधन टूल है, और यह एक सुविधाजनक टूल है जो आपको GUI के माध्यम से तालिकाओं और कॉलम जानकारी को दृश्य रूप से प्रबंधित करने देता है।

कॉलम सूची जांचने के चरण

  1. MySQL Workbench लॉन्च करें
  2. अपने MySQL सर्वर से कनेक्ट करें
  • “Local Instance MySQL” चुनें या वह कनेक्शन जिसे आपने कॉन्फ़िगर किया है
  1. “Schemas” टैब खोलें
  2. लक्षित डेटाबेस को विस्तारित करें (जैसे, my_database)
  3. जिस तालिका को आप जांचना चाहते हैं (जैसे, users) पर राइट-क्लिक करें
  4. “Table Inspector” चुनें
  5. “Columns” टैब खोलें

कॉलम सूची में आप क्या देखते हैं

“Columns” टैब में, आपको नीचे दी गई जानकारी दिखाई देगी।

Column NameData TypeAllows NULLPrimary KeyDefault ValueAdditional Info
idINTNOPRIAUTO_INCREMENT 
nameVARCHAR(255)YES NULL 
emailVARCHAR(255)YESUNINULL 
ageINTYES NULL 

आप बिना SQL चलाए सहज रूप से कॉलम विवरण देख सकते हैं
आप तालिका के साथ-साथ इंडेक्स और प्रतिबंध भी देख सकते हैं

6-2. phpMyAdmin में कॉलम सूची जांचें

phpMyAdmin क्या है?

phpMyAdmin एक टूल है जो आपको वेब ब्राउज़र में MySQL प्रबंधित करने देता है। यह अक्सर शेयर्ड होस्टिंग और समान वातावरण में डिफ़ॉल्ट रूप से उपलब्ध होता है, इसलिए उपयोग में आसान है।

कॉलम सूची जांचने के चरण

  1. phpMyAdmin में लॉग इन करें
  2. बाएँ मेनू से लक्ष्य डेटाबेस चुनें
  3. जिस तालिका को आप निरीक्षण करना चाहते हैं, उस पर क्लिक करें
  4. “Structure” टैब खोलें

कॉलम सूची में आप क्या देखते हैं

“Structure” टैब में, तालिका की कॉलम जानकारी तालिका स्वरूप में प्रदर्शित होती है।

Column NameData TypeAllows NULLDefault ValueIndexComment
idINTNOAUTO_INCREMENTPRIMARY 
nameVARCHAR(255)YESNULL  
emailVARCHAR(255)YESNULLUNIQUE 
ageINTYESNULL  

आप वेब ब्राउज़र में आसानी से कॉलम सूची देख सकते हैं
आप GUI के माध्यम से कॉलम जोड़/संपादित/हटा सकते हैं

6-3. वैकल्पिक टूल्स: DBeaver और TablePlus

MySQL Workbench और phpMyAdmin के अलावा, अन्य उपयोगी डेटाबेस प्रबंधन टूल्स भी हैं।

DBeaver

  • क्रॉस-प्लेटफ़ॉर्म (Windows, Mac, Linux)
  • MySQL के अलावा PostgreSQL, SQLite, Oracle आदि कई डेटाबेस को सपोर्ट करता है
  • एक सहज GUI के साथ कॉलम सूची प्रदर्शित करने देता है

TablePlus

  • सरल UI जो शुरुआती लोगों के लिए आसान है
  • MySQL, PostgreSQL, SQLite आदि को सपोर्ट करता है
  • सुविधाजनक डेटाबेस प्रबंधन के लिए तेज़ प्रदर्शन

इन टूल्स के साथ, कॉलम सूची जांचना और डेटा पर कार्य करना और भी सुगम हो जाता है

सारांश

इस अनुभाग में, हमने GUI टूल्स का उपयोग करके कॉलम सूचियों की जाँच कैसे करें समझाया।

मुख्य बिंदु

MySQL Workbench में, आप “Table Inspector” → “Columns” में कॉलम की जाँच कर सकते हैं
phpMyAdmin में, आप “Structure” टैब से कॉलम जानकारी देख सकते हैं
DBeaver और TablePlus जैसे वैकल्पिक टूल भी उपयोगी हैं
GUI टूल्स आपको SQL ज्ञान के बिना सहजता से कॉलम जानकारी की पुष्टि करने देते हैं

7. अक्सर पूछे जाने वाले प्रश्न (FAQ)

यहाँ MySQL कॉलम सूचीबद्ध करने के बारे में पाठकों के सामान्य प्रश्न हैं।
हम SHOW COLUMNS और INFORMATION_SCHEMA के उपयोग के समय सावधानियों, त्रुटियों से निपटने, और उन्नत उपयोग के बारे में भी समझाते हैं।

7-1. SHOW COLUMNS और DESCRIBE में क्या अंतर है?

Question

SHOW COLUMNS और DESCRIBE में क्या अंतर है?”

Answer

SHOW COLUMNS और DESCRIBE लगभग समान कार्यक्षमता प्रदान करते हैं।
वास्तव में, DESCRIBE SHOW COLUMNS का उपनाम है।

SHOW COLUMNS उदाहरण

SHOW COLUMNS FROM users;

DESCRIBE उदाहरण

DESCRIBE users;

मुख्य अंतर यह हैं:

CommandFunctionDetails
SHOW COLUMNSRetrieve column informationSupports more detailed options
DESCRIBEAlias of SHOW COLUMNSShorter and easier to type

अधिकांश उपयोग मामलों में, DESCRIBE पर्याप्त है,
लेकिन यदि आपको अधिक लचीले विकल्प चाहिए तो SHOW COLUMNS चुनें।

7-2. INFORMATION_SCHEMA का उपयोग करने के क्या लाभ हैं?

Question

SHOW COLUMNS के बजाय INFORMATION_SCHEMA का उपयोग करने के क्या लाभ हैं?”

Answer

INFORMATION_SCHEMA.COLUMNS का उपयोग करके आप उन्नत खोज कर सकते हैं, जैसे:

पूरे डेटाबेस में कॉलम जानकारी प्राप्त करना
विशिष्ट कॉलम वाले टेबल खोजना
SQL WHERE क्लॉज़ का उपयोग करके परिणाम फ़िल्टर करना

उदाहरण के लिए, जब आप “सभी टेबल खोजना चाहते हैं जिनमें email कॉलम है,”
SHOW COLUMNS यह सीधे नहीं कर सकता, लेकिन INFORMATION_SCHEMA कर सकता है।

SELECT table_name
FROM information_schema.columns
WHERE column_name = 'email'
AND table_schema = 'my_database';

SHOW COLUMNS केवल एक टेबल के लिए जानकारी प्राप्त कर सकता है,
जबकि INFORMATION_SCHEMA पूरे डेटाबेस में खोज सकता है।

7-3. किसी विशिष्ट कॉलम वाले टेबल कैसे सूचीबद्ध करें?

Question

“क्या डेटाबेस में किसी विशिष्ट कॉलम वाले टेबल की सूची बनाने का कोई तरीका है?”

Answer

आप INFORMATION_SCHEMA.COLUMNS का उपयोग करके किसी विशिष्ट कॉलम वाले टेबल खोज सकते हैं।

SQL सिंटैक्स

SELECT table_name
FROM information_schema.columns
WHERE column_name = 'column_name'
AND table_schema = 'database_name';

उदाहरण
“मैं उन टेबलों को खोजना चाहता हूँ जिनमें email कॉलम है।”

SELECT table_name
FROM information_schema.columns
WHERE column_name = 'email'
AND table_schema = 'my_database';

आउटपुट

+------------+
| table_name |
+------------+
| users      |
| customers  |
+------------+

यह विधि आपको जल्दी से पुष्टि करने में मदद करती है कि आपके डेटाबेस में कौन से टेबल में विशिष्ट कॉलम है

7-4. कॉलम टिप्पणियाँ कैसे प्राप्त करें?

Question

“कॉलम पर सेट की गई टिप्पणी जानकारी कैसे प्राप्त करें?”

Answer

MySQL में, आप कॉलम पर टिप्पणी (विवरण) सेट कर सकते हैं।
टिप्पणी प्राप्त करने के लिए, SHOW FULL COLUMNS या INFORMATION_SCHEMA.COLUMNS का उपयोग करें।

SHOW FULL COLUMNS उदाहरण

SHOW FULL COLUMNS FROM users;

INFORMATION_SCHEMA का उपयोग

SELECT column_name, column_comment
FROM information_schema.columns
WHERE table_name = 'users'
AND table_schema = 'my_database';

आउटपुट

+-------------+---------------------+
| column_name | column_comment      |
+-------------+---------------------+
| id          | User ID             |
| name        | User name           |
| email       | Email address       |
| age         | Age (optional)      |
+-------------+---------------------+

7-5. स्क्रिप्ट्स के साथ कॉलम सूचियों को स्वचालित रूप से कैसे प्राप्त करें?

Question

“क्या स्क्रिप्ट के साथ कॉलम सूचियों को प्राप्त करने और उन्हें स्वचालित रूप से लॉग करने का कोई तरीका है?”

उत्तर

Python या Shell स्क्रिप्ट्स के साथ, आप कॉलम सूचियों को नियमित रूप से प्राप्त और सहेज सकते हैं।

Python स्क्रिप्ट उदाहरण

import mysql.connector

config = {
    'user': 'your_user',
    'password': 'your_password',
    'host': 'localhost',
    'database': 'your_database'
}

conn = mysql.connector.connect(**config)
cursor = conn.cursor()

cursor.execute("SELECT column_name FROM information_schema.columns WHERE table_name = 'users'")
columns = cursor.fetchall()

print("Columns:")
for column in columns:
    print(column[0])

cursor.close()
conn.close()

Shell स्क्रिप्ट उदाहरण

#!/bin/bash

DB_NAME="your_database"
TABLE_NAME="users"
USER="your_user"
PASSWORD="your_password"

mysql -u$USER -p$PASSWORD -D$DB_NAME -e "SELECT column_name FROM information_schema.columns WHERE table_name = '$TABLE_NAME';"

निर्धारित चलाना (cron जॉब)

0 3 * * * /path/to/mysql_columns.sh

(कॉलम सूची को हर दिन सुबह 3:00 बजे प्राप्त करता है और लॉग करता है.)

सारांश

इस भाग में, हमने MySQL कॉलम सूचीबद्ध करने के बारे में अक्सर पूछे जाने वाले प्रश्न और समाधान प्रस्तुत किए।

मुख्य बिंदु

SHOW COLUMNS और DESCRIBE समान हैं, लेकिन SHOW COLUMNS अधिक लचीला है
INFORMATION_SCHEMA आपको डेटाबेस में कॉलम खोजने की अनुमति देता है
विशिष्ट कॉलम वाले टेबल खोजने के लिए INFORMATION_SCHEMA.COLUMNS का उपयोग करें
कॉलम टिप्पणियों को प्राप्त करने के लिए SHOW FULL COLUMNS या INFORMATION_SCHEMA का उपयोग करें
Python या Shell स्क्रिप्ट्स कॉलम प्राप्ति को स्वचालित कर सकते हैं और cron इसे शेड्यूल कर सकता है

8. अंतिम सारांश

इस लेख में, हमने MySQL में कॉलम की सूची कैसे प्राप्त करें को विस्तार से समझाया।
बुनियादी SQL कमांड से लेकर उन्नत खोज विधियों, स्वचालन, त्रुटि प्रबंधन, और GUI टूल उपयोग तक,
हमने व्यावहारिक ज्ञान की एक विस्तृत श्रृंखला को कवर किया।
अंत में, पूरे लेख के सबसे महत्वपूर्ण बिंदुओं का सारांश लेते हैं।

8-1. संपूर्ण अवलोकन: MySQL में कॉलम कैसे सूचीबद्ध करें

बुनियादी विधियाँ

MethodCommandNotes
SHOW COLUMNSSHOW COLUMNS FROM table_name;The simplest method. Retrieve per table.
DESCRIBEDESCRIBE table_name;An alias for SHOW COLUMNS.
INFORMATION_SCHEMASELECT column_name FROM information_schema.columns WHERE table_name = 'table_name' AND table_schema = 'database_name';Search column info across the entire database.

SHOW COLUMNS और DESCRIBE सरल और सुविधाजनक हैं
INFORMATION_SCHEMA आपको डेटाबेस में कॉलम खोजने की अनुमति देता है

8-2. कॉलम जानकारी प्राप्त करने के उन्नत तरीके

MethodCommandPurpose
Retrieve columns for all tablesSELECT table_name, column_name FROM information_schema.columns WHERE table_schema = 'database_name';List all columns across the database.
Find tables containing a specific columnSELECT table_name FROM information_schema.columns WHERE column_name = 'column_name' AND table_schema = 'database_name';Find which tables contain the column.
Retrieve detailed column infoSELECT column_name, data_type, is_nullable, column_default FROM information_schema.columns WHERE table_name = 'table_name' AND table_schema = 'database_name';Check data types, NULL allowance, and defaults.

आप विशिष्ट कॉलम वाले टेबल खोज सकते हैं (स्कीमा परिवर्तन के दौरान उपयोगी)
आप डेटा प्रकार और NULL अनुमति जानकारी भी प्राप्त कर सकते हैं

8-3. स्वचालन और त्रुटि प्रबंधन

स्वचालन विधियाँ

MethodLanguageCommand
Python scriptPythonUse mysql-connector-python
Shell scriptBashmysql -u user -p -e "SQL"
Scheduled run (cron job)Linux0 3 * * * /path/to/script.sh

स्क्रिप्ट्स कॉलम सूचीकरण को स्वचालित कर सकते हैं
Cron जॉब्स आवधिक स्कीमा मॉनिटरिंग सक्षम करते हैं

त्रुटि प्रबंधन

ErrorCauseSolution
SELECT command deniedNo SELECT privilege for SHOW COLUMNSGRANT SELECT ON your_database.* TO 'user'@'localhost';
Access denied for userNo privileges for INFORMATION_SCHEMAGRANT SELECT ON information_schema.* TO 'user'@'localhost';
Table doesn't existWrong table nameSpecify the correct database/table

विशेषाधिकार-संबंधी त्रुटियों को GRANT कमांड से हल किया जा सकता है
INFORMATION_SCHEMA का उपयोग करने के लिए विशेष विशेषाधिकार आवश्यक हो सकते हैं

8-4. GUI टूल्स का उपयोग करके कॉलम सूचियों की जाँच

सामान्य टूल्स

ToolNotes
MySQL WorkbenchOfficial tool. Visually manage column information.
phpMyAdminEasy database management from a web browser.
DBeaverFeature-rich tool that supports many DBs beyond MySQL.
TablePlusSimple design and intuitive operation.

GUI टूल्स आपको SQL कमांड के बिना कॉलम जाँचने देते हैं
डेटाबेस डिजाइन और संपादन अधिक सहजता से किया जा सकता है

8-5. FAQ मुख्य बिंदु

QuestionAnswer
What’s the difference between SHOW COLUMNS and DESCRIBE?They are almost the same, but SHOW COLUMNS has more options.
What are the benefits of using INFORMATION_SCHEMA?You can search across the database and find tables that contain a specific column.
How can I find tables that contain a specific column?Use INFORMATION_SCHEMA.COLUMNS.
How can I retrieve column comments?Use SHOW FULL COLUMNS or INFORMATION_SCHEMA.COLUMNS.
How can I automate column listing?Use Python/Shell scripts and schedule them with cron.

सामान्य प्रश्नों के स्पष्ट उत्तर प्रदान करें
व्यावहारिकता बढ़ाने के लिए ठोस SQL उदाहरणों का उपयोग करें

8-6. अधिक कुशल डेटाबेस प्रबंधन के टिप्स

अंत में, डेटाबेस प्रबंधन की दक्षता बढ़ाने के लिए कुछ टिप्स यहाँ हैं।

अपने टेबल संरचना का दस्तावेज़ बनाएं

  • SHOW CREATE TABLE का उपयोग करके टेबल संरचनाओं को रिकॉर्ड करें
  • INFORMATION_SCHEMA को नियमित रूप से जांचें ताकि स्कीमा परिवर्तन ट्रैक हो सकें

उचित विशेषाधिकार प्रबंधन स्थापित करें

  • अनावश्यक विशेषाधिकारों को सीमित करने के लिए GRANT और REVOKE का उपयोग करें
  • ऑडिट लॉग्स का उपयोग करके रिकॉर्ड करें कि किसने कौन से टेबल बदले

स्क्रिप्ट्स के साथ नियमित कार्यों को स्वचालित करें

  • Python या Shell स्क्रिप्ट्स का उपयोग करके कॉलम सूचियों को नियमित रूप से प्राप्त और लॉग करें
  • दैनिक स्कीमा परिवर्तन मॉनिटर करने के लिए cron जॉब्स का उपयोग करें

सारांश और अगले कदम

इस लेख में, हमने MySQL में कॉलम कैसे सूचीबद्ध करें को बुनियादी से उन्नत तक व्यवस्थित रूप से समझाया।
डेटाबेस प्रबंधन और विकास में, कॉलम सूचीबद्ध करना टेबल संरचनाओं को समझने और डिबगिंग दक्षता सुधारने के लिए आवश्यक है।

अगले कदम

अपने वातावरण में MySQL की कॉलम सूचीबद्ध करने का प्रयास करें
Python या Shell स्क्रिप्ट्स के साथ वर्कफ़्लो को स्वचालित करने का प्रयास करें
डेटाबेस प्रबंधन को सरल बनाने के लिए GUI टूल्स का उपयोग करें

इन कौशलों के साथ, आप MySQL डेटाबेस को अधिक कुशलता से प्रबंधित कर सकते हैं! 🚀