MySQL एक लोकप्रिय रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) है, जो डेटा को तालिकाओं (tables) में व्यवस्थित करता है। डेटाबेस संगठित डेटा का संग्रह होता है, जिसे प्रभावी ढंग से एक्सेस, प्रबंधित और अद्यतन किया जा सकता है। MySQL ओपन-सोर्स है और SQL (Structured Query Language) का उपयोग करता है। इस अध्याय में हम डेटाबेस बनाना, तालिकाएं बनाना, डेटा डालना, देखना, बदलना और हटाना सीखेंगे। यह अध्याय MySQL की मूलभूत अवधारणाओं का पुनरीक्षण (revision) है।
डेटाबेस में एक या एक से अधिक तालिकाएं होती हैं। तालिका पंक्तियों (rows) और स्तंभों (columns) में डेटा संग्रहीत करती है। प्रत्येक पंक्ति एक रिकॉर्ड होती है और प्रत्येक स्तंभ एक फ़ील्ड। डेटाबेस का निर्माण और उपयोग:
CREATE DATABASE स्कूल;
USE स्कूल;
SHOW DATABASES;
CREATE DATABASE नाम; — नया डेटाबेस बनाता है।USE नाम; — विशेष डेटाबेस का चयन करता है।SHOW DATABASES; — सभी डेटाबेस सूचीबद्ध करता है।SHOW TABLES; — चयनित डेटाबेस की तालिकाएं दिखाता है।DROP DATABASE नाम; — डेटाबेस हटाता है।तालिका बनाने के लिए CREATE TABLE कथन का उपयोग होता है, जिसमें स्तंभों के नाम और उनके डेटाटाइप दिए जाते हैं:
CREATE TABLE छात्र (
रोल INT PRIMARY KEY,
नाम VARCHAR(30),
अंक DECIMAL(5,2),
शहर VARCHAR(20)
);
सामान्य डेटाटाइप:
- INT — पूर्णांक
- VARCHAR(n) — n अक्षरों तक की स्ट्रिंग
- CHAR(n) — निश्चित लंबाई की स्ट्रिंग
- DECIMAL(p,s) — दशमलव संख्या (p कुल अंक, s दशमलव स्थान)
- DATE — दिनांक (YYYY-MM-DD)
- FLOAT — फ्लोटिंग पॉइंट संख्या
तालिका में डेटा डालने के लिए INSERT INTO कथन का उपयोग होता है:
INSERT INTO छात्र VALUES (1, 'राम', 85.5, 'दिल्ली');
INSERT INTO छात्र (रोल, नाम, अंक) VALUES (2, 'सीता', 90.0);
पहली विधि में सभी स्तंभों के मान क्रम से दिए जाते हैं। दूसरी विधि में विशेष स्तंभों के नाम निर्धारित करके मान दिए जाते हैं; शेष स्तंभों में NULL (या डिफ़ॉल्ट) मान जाता है।
तालिका से डेटा देखने के लिए SELECT कथन का उपयोग होता है:
SELECT * FROM छात्र;
SELECT नाम, अंक FROM छात्र;
SELECT DISTINCT शहर FROM छात्र;
SELECT * FROM छात्र WHERE अंक > 80;
* — सभी स्तंभDISTINCT — केवल अद्वितीय (unique) मानWHERE — शर्त के अनुसार फ़िल्टरिंगमौजूदा रिकॉर्ड बदलने के लिए UPDATE कथन का उपयोग होता है:
UPDATE छात्र SET अंक = 95 WHERE रोल = 1;
UPDATE छात्र SET शहर = 'मुंबई' WHERE रोल = 2;
WHERE शर्त के बिना UPDATE सभी पंक्तियों को बदल देगा, इसलिए सदैव सावधानी बरतें।
पंक्तियां हटाने के लिए DELETE और तालिका हटाने के लिए DROP कथन का उपयोग होता है:
DELETE FROM छात्र WHERE रोल = 3;
DELETE FROM छात्र;
DROP TABLE छात्र;
DELETE FROM तालिका WHERE शर्त; — शर्त के अनुसार पंक्तियां हटाता है।DELETE FROM तालिका; — सभी पंक्तियां हटाता है (तालिका संरचना बनी रहती है)।DROP TABLE तालिका; — तालिका की संरचना समेत सब कुछ हटाता है।TRUNCATE TABLE तालिका; — सभी पंक्तियां तेजी से हटाता है, संरचना रहती है।तालिका की संरचना में परिवर्तन के लिए ALTER TABLE कथन का उपयोग होता है:
ALTER TABLE छात्र ADD फ़ोन INT;
ALTER TABLE छात्र DROP COLUMN फ़ोन;
ALTER TABLE छात्र MODIFY नाम VARCHAR(50);
ADD — नया स्तंभ जोड़ता है।DROP COLUMN — स्तंभ हटाता है।MODIFY — स्तंभ की परिभाषा बदलता है।बाधाएं तालिका में डेटा की शुद्धता सुनिश्चित करती हैं:
CREATE TABLE छात्र (
रोल INT PRIMARY KEY,
नाम VARCHAR(30) NOT NULL,
अंक DECIMAL(5,2) CHECK (अंक <= 100),
शहर VARCHAR(20) DEFAULT 'दिल्ली',
आयु INT UNIQUE
);
PRIMARY KEY — प्रत्येक पंक्ति को विशिष्ट पहचान देता है (NOT NULL + UNIQUE)।NOT NULL — मान NULL नहीं हो सकता।UNIQUE — सभी मान अलग-अलग होने चाहिए।CHECK — शर्त की जांच।DEFAULT — डिफ़ॉल्ट मान।डेटाबेस की सफलता उसके उचित डिजाइन पर निर्भर करती है। डेटा अखंडता (data integrity) का अर्थ है कि डेटा सदैव सटीक, सुसंगत और विश्वसनीय बना रहे। बाधाओं (constraints) का उपयोग करके डेटा अखंडता सुनिश्चित की जाती है। डेटाबेस डिजाइन करते समय तालिकाओं को न्यूनतम पुनरावृत्ति के साथ बनाना चाहिए, ताकि अनावश्यक डुप्लिकेशन से बचा जा सके। यह प्रक्रिया सामान्यीकरण (normalization) कहलाती है। एक अच्छे डेटाबेस में प्रत्येक तालिका का एक स्पष्ट PRIMARY KEY होता है और संबंधित तालिकाएं FOREIGN KEY से जुड़ी होती हैं। उदाहरण के लिए, 'छात्र' और 'परीक्षा' तालिकाओं को रोल स्तंभ द्वारा जोड़ा जा सकता है। इससे डेटा की पुनरावृत्ति घटती है और अद्यतन सरल हो जाता है। सही डेटाटाइप का चयन भी डेटाबेस की दक्षता को प्रभावित करता है — संख्याओं के लिए INT और नाम जैसे छोटे टेक्स्ट के लिए VARCHAR उपयुक्त है। इसके अलावा DEFAULT और CHECK बाधाएं डेटा में त्रुटियों को प्रवेश करने से रोकती हैं। वास्तविक परियोजनाओं में डेटाबेस डिजाइन परीक्षा से पहले भी अत्यंत उपयोगी होता है, क्योंकि यह तालिकाओं की संरचना और संबंधों को स्पष्ट करता है। परीक्षा में डिजाइन से संबंधित प्रश्न, जैसे उपयुक्त डेटाटाइप चुनना और बाधाएं लगाना, प्रायः पूछे जाते हैं।
| कथन | कार्य |
|---|---|
CREATE DATABASE |
डेटाबेस बनाना |
CREATE TABLE |
तालिका बनाना |
INSERT INTO |
डेटा डालना |
SELECT |
डेटा देखना |
UPDATE |
डेटा बदलना |
DELETE |
पंक्तियां हटाना |
DROP TABLE |
तालिका हटाना |
ALTER TABLE |
संरचना बदलना |
| डेटाटाइप | उपयोग |
|---|---|
INT |
पूर्णांक |
VARCHAR(n) |
परिवर्तनीय लंबाई स्ट्रिंग |
CHAR(n) |
निश्चित लंबाई स्ट्रिंग |
DECIMAL(p,s) |
दशमलव संख्या |
DATE |
दिनांक |
FLOAT |
फ्लोटिंग पॉइंट |
| बाधा | कार्य |
|---|---|
PRIMARY KEY |
विशिष्ट पहचान |
NOT NULL |
मान अनिवार्य |
UNIQUE |
मान अद्वितीय |
CHECK |
शर्त जांच |
DEFAULT |
डिफ़ॉल्ट मान |
UPDATE छात्र SET अंक = 95; सभी पंक्तियों के अंक बदल देता है। WHERE शर्त अनिवार्य है।'राम'।; अनिवार्य है।SELECT * FROM तालिका; सभी रिकॉर्ड दिखाता है; SELECT DISTINCT अद्वितीय मान।WHERE शर्त के संचालक — =, >, <, >=, <=, <>, LIKE, BETWEEN, IN।ALTER TABLE में ADD, DROP COLUMN, MODIFY के उपयोग याद रखें।NOT NULL और UNIQUE का संयोजन PRIMARY KEY है।इस अध्याय में हमने MySQL की मूलभूत अवधारणाओं का पुनरीक्षण किया। हमने सीखा कि डेटाबेस और तालिकाएं कैसे बनाई जाती हैं, डेटा कैसे डाला, देखा, बदला और हटाया जाता है, तथा बाधाएं (constraints) किस प्रकार डेटा की शुद्धता सुनिश्चित करती हैं। UPDATE और DELETE में WHERE शर्त का उपयोग, DROP और DELETE का अंतर, तथा विभिन्न डेटाटाइप यह सब परीक्षा की दृष्टि से अत्यंत महत्वपूर्ण हैं। ALTER TABLE से संरचना में परिवर्तन और बाधाओं का सही चयन डेटाबेस को सुदृढ़ बनाता है। INSERT की विधियों तथा SELECT के विभिन्न रूपों का अभ्यास डेटा प्रबंधन की नींव है। डेटाबेस डिजाइन में PRIMARY KEY और FOREIGN KEY का उचित उपयोग डेटा अखंडता सुनिश्चित करता है। इन सभी कौशलों की ठोस पकड़ अगले अध्याय की उन्नत क्वेरीज़ के लिए आधार प्रदान करती है। अगले अध्याय में हम MySQL की उन्नत क्वेरीज़ — समूहन, क्रमबद्धता, कार्यों और विभिन्न क्लॉज़ का अध्ययन करेंगे।