- 1 1. परिचय
- 2 2. बुनियादी MySQL ऑपरेशन्स (शुरुआती‑मित्र)
- 3 3. डेटाबेस संचालन
- 4 4. टेबल संचालन
1. परिचय
MySQL एक व्यापक रूप से उपयोग किया जाने वाला ओपन‑सोर्स रिलेशनल डेटाबेस है, जो डेटाबेस प्रबंधन प्रणालियों (DBMS) में से एक है। यह विशेष रूप से वेब अनुप्रयोगों और एंटरप्राइज़ सिस्टम्स में लोकप्रिय है। इस लेख में, हम आवश्यक MySQL कमांड्स को विस्तार से समझाएंगे और सामग्री को इस तरह संरचित करेंगे कि शुरुआती से मध्यवर्ती उपयोगकर्ता सहजता से सीख सकें।
1.1 MySQL क्या है?
MySQL वह सॉफ़्टवेयर है जिसका उपयोग रिलेशनल डेटाबेस (RDB) को प्रबंधित करने के लिए किया जाता है। डेटा तालिकाओं (टेबल) में संग्रहीत होता है, और आप डेटा को SQL (स्ट्रक्चर्ड क्वेरी लैंग्वेज) के माध्यम से हेरफेर करते हैं। MySQL में निम्नलिखित विशेषताएँ हैं:
- ओपन‑सोर्स और किसी के भी उपयोग के लिए मुफ्त
- तेज़ और हल्का प्रदर्शन
- कई प्रोग्रामिंग भाषाओं के साथ संगत (जैसे PHP, Python, और Java)
- बड़े पैमाने के डेटाबेस को संचालित करने के लिए उपयुक्त
1.2 MySQL कमांड्स सीखने के लाभ
MySQL का प्रभावी उपयोग करने के लिए बुनियादी कमांड्स को समझना महत्वपूर्ण है। प्रमुख लाभों में शामिल हैं:
- अधिक कुशल डेटा प्रबंधन : SQL कमांड्स में निपुणता से आप डेटा को तेज़ी से प्राप्त, अपडेट और हटाना सीखते हैं
- वर्कफ़्लो ऑटोमेशन : स्क्रिप्ट्स का उपयोग करके आप डेटाबेस संचालन को स्वचालित कर सकते हैं
- स्मूथ एरर हैंडलिंग : समस्याएँ उत्पन्न होने पर आप उपयुक्त SQL कमांड्स से उन्हें हल कर सकते हैं
1.3 इस लेख में आप क्या सीखेंगे
यह लेख निम्नलिखित विषयों को विस्तार से समझाता है:
- बुनियादी MySQL ऑपरेशन्स (स्टार्ट करना, कनेक्ट करना, और डेटाबेस ऑपरेशन्स)
- डेटा जोड़ना, प्राप्त करना, अपडेट करना और हटाना (CRUD ऑपरेशन्स)
- उपयोगकर्ता प्रबंधन और विशेषाधिकार सेटिंग्स
- उपयोगी कमांड्स और ट्रबलशूटिंग
आगे, हम प्रत्येक अनुभाग को क्रमवार देखेंगे। चलिए बुनियादी MySQL ऑपरेशन्स से शुरू करते हैं।
2. बुनियादी MySQL ऑपरेशन्स (शुरुआती‑मित्र)
2.1 MySQL को स्टार्ट करना और कनेक्ट करना
2.1.1 MySQL को स्टार्ट करना
क्योंकि MySQL एक सर्वर प्रोग्राम के रूप में चलता है, आपको पहले सर्वर को शुरू करना होगा। स्टार्टअप विधि ऑपरेटिंग सिस्टम के अनुसार अलग होती है।
Linux / macOS पर स्टार्ट करना
Linux और macOS पर, आप systemctl कमांड का उपयोग करके MySQL को शुरू कर सकते हैं।
sudo systemctl start mysql
जाँचें कि MySQL चल रहा है या नहीं
sudo systemctl status mysql
यदि आप “active (running)” देखते हैं, तो MySQL सामान्य रूप से चल रहा है।
Windows पर स्टार्ट करना
Windows पर, MySQL अक्सर एक सर्विस के रूप में चलता है, इसलिए आप net start कमांड का उपयोग कर सकते हैं।
net start mysql
या, यदि आप XAMPP का उपयोग कर रहे हैं, तो XAMPP कंट्रोल पैनल खोलें और “MySQL” के लिए “Start” बटन पर क्लिक करें।
2.1.2 MySQL से कनेक्ट करना
MySQL से कनेक्ट करने के लिए mysql कमांड का उपयोग करें। बुनियादी कनेक्शन कमांड इस प्रकार है:
mysql -u username -p
रूट उपयोगकर्ता के रूप में कनेक्ट करना
डिफ़ॉल्ट रूप से, root उपयोगकर्ता को प्रशासक के रूप में कॉन्फ़िगर किया गया है। आप निम्नलिखित कमांड से कनेक्ट कर सकते हैं:
mysql -u root -p
Enter दबाने के बाद, आपको पासवर्ड दर्ज करने के लिए कहा जाएगा। यदि आप सही पासवर्ड दर्ज करते हैं, तो आप MySQL में लॉग इन कर सकते हैं।
विशिष्ट होस्ट से कनेक्ट करना
रिमोट MySQL सर्वर से कनेक्ट करने के लिए -h विकल्प का उपयोग करें।
mysql -h hostname -u username -p
उदाहरण के लिए, 192.168.1.100 पर स्थित MySQL सर्वर से कनेक्ट करने के लिए लिखें:
mysql -h 192.168.1.100 -u root -p
पोर्ट नंबर निर्दिष्ट करके कनेक्ट करना
डिफ़ॉल्ट MySQL पोर्ट 3306 है। यदि यह बदल दिया गया है, तो आप -P विकल्प के साथ इसे निर्दिष्ट कर सकते हैं।
mysql -h 192.168.1.100 -P 3307 -u root -p
2.2 बुनियादी MySQL कमांड्स
एक बार जब आप MySQL से कनेक्ट हो जाएँ, तो कुछ बुनियादी कमांड्स चलाने का प्रयास करें।
2.2.1 MySQL संस्करण जाँचें
वर्तमान में उपयोग किए जा रहे MySQL संस्करण को जाँचने के लिए निम्न कमांड चलाएँ:
SELECT VERSION();
2.2.2 वर्तमान डेटाबेस जाँचें
कौन सा डेटाबेस वर्तमान में चयनित है, यह जाँचने के लिए चलाएँ:
SELECT DATABASE();
यदि कोई डेटाबेस चयनित नहीं है, तो NULL लौटाया जाता है।
2.2.3 उपलब्ध डेटाबेस सूचीबद्ध करें
MySQL में मौजूद डेटाबेस को सूचीबद्ध करने के लिए उपयोग करें:
SHOW DATABASES;
2.3 सामान्य त्रुटियाँ और समाधान
2.3.1 “Access denied” त्रुटि
उदाहरण त्रुटि:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
समाधान कैसे करें:
- पासवर्ड सही है यह सत्यापित करें
rootविशेषाधिकारों की जाँच करें और रीसेट करेंALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NEW_PASSWORD'; FLUSH PRIVILEGES;
2.3.2 “‘localhost’ पर MySQL सर्वर से कनेक्ट नहीं हो पा रहा है” त्रुटि
उदाहरण त्रुटि:
ERROR 2002 (HY000): Can't connect to MySQL server on 'localhost' (10061)
समाधान कैसे करें:
- जाँचें कि MySQL चल रहा है या नहीं (
systemctl status mysql) - MySQL को पुनः आरंभ करें
sudo systemctl restart mysql
2.4 सारांश
इस अनुभाग में, हमने बताया कि MySQL को कैसे शुरू करें और उससे कैसे कनेक्ट करें।
3. डेटाबेस संचालन
MySQL में डेटा प्रबंधित करने के लिए आप एक डेटाबेस बनाते हैं, और फिर टेबल को उसमें रखकर जानकारी व्यवस्थित करते हैं। इस अनुभाग में, हम डेटाबेस बनाने, चुनने, सूचीबद्ध करने और हटाने जैसी बुनियादी क्रियाओं को विस्तार से समझाएंगे।
3.1 डेटाबेस बनाना
MySQL में डेटाबेस बनाने के लिए, CREATE DATABASE कमांड का उपयोग करें।
3.1.1 एक बुनियादी डेटाबेस बनाएं
यदि आप निम्नलिखित SQL कमांड चलाते हैं, तो आप my_database नामक नया डेटाबेस बना सकते हैं।
CREATE DATABASE my_database;
निर्माण सफल होने पर संदेश
Query OK, 1 row affected (0.01 sec)
3.1.2 जब आप पहले से मौजूद डेटाबेस बनाने की कोशिश करते हैं
यदि डेटाबेस पहले से मौजूद है, तो आपको नीचे जैसा त्रुटि संदेश मिलेगा:
ERROR 1007 (HY000): Can't create database 'my_database'; database exists
इस त्रुटि से बचने के लिए, IF NOT EXISTS विकल्प जोड़ना उपयोगी है।
CREATE DATABASE IF NOT EXISTS my_database;
जब आप यह कमांड चलाते हैं, तो डेटाबेस केवल तभी बनाया जाएगा जब वह पहले से मौजूद न हो।
3.2 डेटाबेस सूचीबद्ध करना
वर्तमान MySQL सर्वर पर कौन से डेटाबेस मौजूद हैं, यह जांचने के लिए SHOW DATABASES कमांड का उपयोग करें।
SHOW DATABASES;
उदाहरण आउटपुट:
+--------------------+
| Database |
+--------------------+
| information_schema |
| my_database |
| mysql |
| performance_schema |
| sys |
+--------------------+
ध्यान दें: mysql और information_schema जैसे सिस्टम डेटाबेस MySQL प्रशासन के लिए आवश्यक होते हैं।
3.3 डेटाबेस चुनना
MySQL में, आपको वह डेटाबेस चुनना होगा जिसे आप उपयोग करना चाहते हैं। डेटाबेस निर्दिष्ट करने के लिए USE कमांड चलाएँ।
USE my_database;
सफल होने पर संदेश
Database changed
वर्तमान में कौन सा डेटाबेस चयनित है, यह पुष्टि करने के लिए निम्न कमांड का उपयोग करें:
SELECT DATABASE();
उदाहरण आउटपुट:
+------------+
| DATABASE() |
+------------+
| my_database |
+------------+
3.4 डेटाबेस हटाना
जिस डेटाबेस की अब आवश्यकता नहीं है, उसे हटाने के लिए DROP DATABASE कमांड का उपयोग करें।
DROP DATABASE my_database;
3.4.1 हटाने से पहले महत्वपूर्ण नोट्स
- सावधान रहें: डेटाबेस हटाने से सभी डेटा हट जाता है!
- अनजाने में त्रुटियों से बचने के लिए आप
IF EXISTSभी जोड़ सकते हैं।DROP DATABASE IF EXISTS my_database;
यह कमांड my_database न होने पर भी बिना त्रुटि के समाप्त हो जाता है।
3.5 सामान्य त्रुटियाँ और समाधान
3.5.1 “उपयोगकर्ता के लिए अभिगम अस्वीकृत” त्रुटि
उदाहरण त्रुटि:
ERROR 1044 (42000): Access denied for user 'user_name'@'localhost' to database 'my_database'
समाधान
GRANTकमांड का उपयोग करके विशेषाधिकार प्रदान करेंGRANT ALL PRIVILEGES ON my_database.* TO 'user_name'@'localhost'; FLUSH PRIVILEGES;
3.5.2 “डेटाबेस नहीं हटाया जा सकता” त्रुटि
उदाहरण त्रुटि:
ERROR 1010 (HY000): Error dropping database (can't rmdir './my_database', errno: 39)
समाधान
- MySQL को पुनः आरंभ करें
sudo systemctl restart mysql
- पहले
my_databaseमें सभी टेबल हटाएँ, फिरDROP DATABASEचलाएँ।
3.6 सारांश
इस अनुभाग में, आपने डेटाबेस बनाने, चुनने, सूचीबद्ध करने और हटाने के तरीके सीखे।
4. टेबल संचालन
डेटाबेस बनाने के बाद, आपको डेटा को व्यवस्थित करने के लिए उसके अंदर टेबल्स बनानी होती हैं। एक टेबल डेटा संग्रहीत करने के लिए ग्रिड जैसा होता है, जिसमें कॉलम और पंक्तियाँ (रिकॉर्ड) होते हैं।
इस अनुभाग में, हम टेबल बनाना, जांचना, सूचीबद्ध करना, और हटाना जैसी बुनियादी क्रियाओं को विस्तार से समझाएंगे।
4.1 टेबल बनाना
टेबल बनाने के लिए, CREATE TABLE कमांड का उपयोग करें। यदि आप नीचे दिया गया SQL चलाते हैं, तो यह users नामक टेबल बनाता है।
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
4.1.1 टेबल बनाते समय प्रत्येक तत्व की व्याख्या
id INT AUTO_INCREMENT PRIMARY KEYidकॉलम एक पूर्णांक (INT) है, यह स्वचालित रूप से बढ़ता है (AUTO_INCREMENT), और इसे प्राथमिक कुंजी (PRIMARY KEY) के रूप में सेट किया गया है।name VARCHAR(50) NOT NULLnameकॉलम एक स्ट्रिंग (VARCHAR) है, अधिकतम 50 अक्षर, औरNOT NULLके कारण यह अनिवार्य है।email VARCHAR(100) UNIQUE NOT NULLemailकॉलम एक स्ट्रिंग है, अधिकतम 100 अक्षर, औरUNIQUEप्रतिबंध डुप्लिकेट ईमेल पते को रोकता है।created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMPcreated_atकॉलम स्वचालित रूप से वर्तमान तिथि/समय को डिफ़ॉल्ट मान के रूप में सेट करता है।
सफल होने पर संदेश
Query OK, 0 rows affected (0.02 sec)
4.2 टेबल संरचना जांचना
आपके द्वारा बनाई गई टेबल की संरचना जांचने के लिए, DESC या SHOW COLUMNS का उपयोग करें।
DESC users;
या
SHOW COLUMNS FROM users;
उदाहरण आउटपुट:
+------------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+-------------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(50) | NO | | NULL | |
| email | varchar(100) | NO | UNI | NULL | |
| created_at | timestamp | YES | | CURRENT_TIMESTAMP | |
+------------+--------------+------+-----+-------------------+----------------+
4.3 टेबल्स की सूची बनाना
वर्तमान डेटाबेस में मौजूद टेबल्स की सूची बनाने के लिए, SHOW TABLES कमांड चलाएँ।
SHOW TABLES;
उदाहरण आउटपुट:
+------------------+
| Tables_in_mydb |
+------------------+
| users |
| products |
| orders |
+------------------+
4.4 टेबल हटाना
जिस टेबल की अब आवश्यकता नहीं है, उसे हटाने के लिए DROP TABLE कमांड का उपयोग करें।
DROP TABLE users;
4.4.1 टेबल हटाते समय महत्वपूर्ण नोट्स
- सावधान रहें: टेबल हटाने से डेटा स्थायी रूप से हट जाता है!
- हटाते समय त्रुटियों से बचने के लिए
IF EXISTSजोड़ें।DROP TABLE IF EXISTS users;
सफल होने पर संदेश
Query OK, 0 rows affected (0.01 sec)
4.5 टेबल डेटा रीसेट करना (सभी पंक्तियों को हटाना)
यदि आप टेबल की संरचना को बनाए रखना चाहते हैं लेकिन अंदर का डेटा हटाना चाहते हैं, तो TRUNCATE TABLE का उपयोग करें।
TRUNCATE TABLE users;
DROP TABLE से अंतर
DROP TABLEटेबल को स्वयं हटा देता है।TRUNCATE TABLEकेवल डेटा को हटाता है और टेबल की संरचना को बरकरार रखता है।
4.6 सामान्य त्रुटियाँ और समाधान
4.6.1 “Table already exists” त्रुटि
उदाहरण त्रुटि:
ERROR 1050 (42S01): Table 'users' already exists
समाधान कैसे करें
- मौजूदा टेबल्स की जाँच करें
SHOW TABLES;
IF NOT EXISTSके साथ टेबल बनाएँCREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
4.6.2 “Unknown table” त्रुटि
उदाहरण त्रुटि:
ERROR 1051 (42S02): Unknown table 'users'
समाधान कैसे करें
- टेबल मौजूद है या नहीं, इसे
SHOW TABLES;का उपयोग करके जांचें। - यदि यह मौजूद नहीं है, तो
IF EXISTSजोड़ें।DROP TABLE IF EXISTS users;
4.7 सारांश
इस अनुभाग में, हमने बुनियादी MySQL टेबल संचालन को कवर किया: टेबल बनाना, जांचना, और हटाना।


