📘 CodingMarble Learn

MySQL के साथ SQL: तालिका बनाना, पंक्तियाँ बदलना और सवाल पूछना

SQL (स्ट्रक्चर्ड क्वेरी लैंग्वेज) MySQL जैसे रिलेशनल DBMS से बात करने की भाषा है। DDL कमांड (CREATE, ALTER, DROP) तालिकाएँ परिभाषित करते हैं; DML कमांड (INSERT, UPDATE, DELETE) पंक्तियाँ बदलते हैं; DQL (SELECT) डेटा पढ़ता है। हर स्तंभ का डेटा प्रकार होता है, जैसे INT, FLOAT, CHAR, VARCHAR या DATE। SELECT … WHERE संबंधात्मक ऑपरेटर, BETWEEN, AND/OR/NOT और IS NULL से पंक्तियाँ छाँटता है।

🎬 कदम-दर-कदम कहानी

  1. SQL कमांड के तीन परिवार: DDL बनाता है, DML पंक्तियाँ बदलता है, DQL पूछता है।
  2. CREATE DATABASE और CREATE TABLE ढाँचा बनाते हैं; ALTER बदलता है; DROP हटाता है।
  3. INSERT तालिका में एक-एक करके पंक्तियाँ जोड़ता है।
  4. WHERE के साथ SELECT केवल शर्त पास करने वाली पंक्तियाँ चुनता है।
  5. UPDATE मान बदलता है और DELETE पंक्तियाँ हटाता है; WHERE तय करता है कौन-सी।
  6. आपकी बारी: क्वेरी चलाएँ और देखें कौन-सी पंक्तियाँ मेल खाती हैं।

टिप: 3D दृश्य को घुमाने के लिए खींचें। ज़ूम के लिए दो उंगलियाँ इस्तेमाल करें।

🤔 आम शंकाएँ और उनके जवाब

क्या SQL और MySQL एक ही हैं?

नहीं। SQL भाषा है। MySQL एक DBMS प्रोग्राम है जो SQL समझता है। Oracle और PostgreSQL भी SQL इस्तेमाल करते हैं।

VARCHAR की जगह CHAR कब लें?

जब हर मान की लंबाई एक-सी हो (पिन कोड, फ़ोन नंबर) तब CHAR। लंबाई बदले (नाम) तो VARCHAR।

पहले से मौजूद Roll वाली पंक्ति डालूँ तो क्या होगा?

Roll प्राइमरी की है, इसलिए MySQL "Duplicate entry" त्रुटि देकर मना कर देता है।

क्या BETWEEN सिरों के मान शामिल करता है?

हाँ। BETWEEN 60 AND 80 में 60 और 80 दोनों शामिल हैं।

मैं UPDATE में WHERE भूल गया। क्या हुआ?

हर पंक्ति बदल गई। पहले उसी WHERE के साथ SELECT चलाकर देखें कि कौन-सी पंक्तियाँ प्रभावित होंगी।

"NOT City = 'Delhi'" में Mohan क्यों नहीं आया?

उसका City NULL (अज्ञात) है। NULL से तुलना कभी True नहीं होती, NOT के साथ भी नहीं। उसे ढूँढने के लिए IS NULL लिखें।

SQL क्या है? DDL, DML और DQL

SQL (स्ट्रक्चर्ड क्वेरी लैंग्वेज) रिलेशनल डेटाबेस बनाने और चलाने की मानक भाषा है। MySQL मुफ़्त, ओपन-सोर्स DBMS है जो SQL समझता है। SQL कीवर्ड में छोटे-बड़े अक्षर का फ़र्क नहीं; हर कथन सेमीकोलन ; पर ख़त्म होता है।

MySQL में डेटा प्रकार

टेक्स्ट और तारीख़ एकल उद्धरण में: 'Asha', '2026-04-01'।

CREATE DATABASE, CREATE TABLE, DROP और ALTER

CREATE DATABASE school;
USE school;
SHOW TABLES;
CREATE TABLE student (
  Roll  INT PRIMARY KEY,
  Name  VARCHAR(20) NOT NULL,
  Marks INT,
  City  VARCHAR(15)
);
DESCRIBE student;               -- ढाँचा देखें
ALTER TABLE student ADD Phone CHAR(10);
ALTER TABLE student MODIFY City VARCHAR(25);
ALTER TABLE student DROP Phone;
DROP TABLE student;             -- तालिका + डेटा हटाता है
DROP DATABASE school;

PRIMARY KEY और NOT NULL कंस्ट्रेंट (नियम जिन्हें DBMS जाँचता है) हैं। ALTER से प्राइमरी की भी जोड़ सकते हैं: ALTER TABLE student ADD PRIMARY KEY (Roll);

INSERT: पंक्तियाँ जोड़ना

INSERT INTO student VALUES (1, 'Asha', 92, 'Delhi');
INSERT INTO student (Roll, Name, Marks) VALUES (3, 'Mohan', 58);   -- City NULL बनेगा

मान स्तंभों के क्रम में और डेटा प्रकार से मेल खाते हों। दोहराई प्राइमरी की अस्वीकार होती है।

WHERE के साथ SELECT

SELECT * FROM student;                       -- सब पंक्तियाँ, सब स्तंभ
SELECT Name, Marks FROM student;             -- चुने स्तंभ
SELECT * FROM student WHERE Marks > 80;

संबंधात्मक ऑपरेटर: = <> (या !=) < > <= >=।

BETWEEN

WHERE Marks BETWEEN 60 AND 80 दोनों सिरे (60 और 80) शामिल करता है। यह Marks >= 60 AND Marks <= 80 जैसा है।

तार्किक ऑपरेटर

AND (दोनों सच), OR (कम से कम एक सच), NOT (उलटा)। WHERE City = 'Delhi' AND Marks > 90।

IS NULL

NULL का अर्थ "अज्ञात" है, इसलिए = NULL कभी काम नहीं करता। WHERE City IS NULL या IS NOT NULL लिखें।

UPDATE और DELETE

UPDATE student SET Marks = Marks + 5 WHERE Marks < 70;
UPDATE student SET City = 'Agra' WHERE Roll = 3;
DELETE FROM student WHERE City IS NULL;
DELETE FROM student;          -- सारी पंक्तियाँ हटती हैं, तालिका रहती है

पहले WHERE हमेशा जाँचें। इसके बिना UPDATE हर पंक्ति बदल देता है और DELETE तालिका ख़ाली कर देता है। DELETE पंक्तियाँ हटाता है (DML); DROP ख़ुद तालिका हटाता है (DDL)।

करके देखें: MySQL में अपनी कक्षा

MySQL इंस्टॉल करें (या कोई ऑनलाइन SQL प्लेग्राउंड)। 5 दोस्तों की Roll, Name, Marks, City वाली तालिका बनाएँ। पंक्तियाँ डालें, एक City ख़ाली छोड़ें। हर क्वेरी चलाने से पहले लिखें कि कौन-से नाम आएँगे: 80 से ज़्यादा, 60 से 80 के बीच, City IS NULL। फिर चलाएँ। 3D के कदम 6 से मिलान करें।

मुख्य सूत्र और परिभाषाएँ

हल किए गए उदाहरण

1. BOOK तालिका बनाने का कमांड लिखें: ISBN (13 अक्षर, प्राइमरी की), Title (40 अक्षर तक), Price (2 दशमलव)।

CREATE TABLE book (ISBN CHAR(13) PRIMARY KEY, Title VARCHAR(40), Price DECIMAL(8,2));

2. BOOK में Author VARCHAR(30) स्तंभ जोड़ें।

ALTER TABLE book ADD Author VARCHAR(30);

3. STUDENT तालिका (Asha 92 Delhi, Ravi 75 Pune, Mohan 58 NULL, Zoya 81 Delhi, Kabir 66 Jaipur) में SELECT Name FROM student WHERE Marks BETWEEN 60 AND 80; क्या लौटाएगा?

Ravi (75) और Kabir (66)। Asha, Zoya 80 से ऊपर; Mohan 60 से नीचे।

4. दिल्ली के उन छात्रों के नाम दिखाएँ जिनके 90 से ज़्यादा अंक हैं।

SELECT Name FROM student WHERE City = 'Delhi' AND Marks > 90; → Asha।

5. जिन छात्रों का शहर दर्ज नहीं है, उन्हें ढूँढें।

SELECT * FROM student WHERE City IS NULL; → Mohan।

6. 70 से कम वालों को 5 ग्रेस अंक दें, फिर बिना शहर वाली पंक्तियाँ हटाएँ। कितनी पंक्तियाँ बचेंगी?

UPDATE: Mohan 58 → 63, Kabir 66 → 71। DELETE से Mohan (City NULL) हटा। 4 पंक्तियाँ बचीं।

7. DELETE FROM student; और DROP TABLE student; में क्या अंतर है?

DELETE सारी पंक्तियाँ हटाता है पर ख़ाली तालिका रहती है (DML)। DROP तालिका और उसका ढाँचा पूरी तरह हटा देता है (DDL)।

आम गलतियाँ

अभ्यास क्विज़

1. DDL कमांड कौन-सा है?
2. अलग-अलग लंबाई के नामों के लिए जगह बचाने वाला डेटा प्रकार?
3. Marks BETWEEN 60 AND 80 में शामिल है:
4. ख़ाली शहर ढूँढने का सही तरीका:
5. DELETE FROM student; (बिना WHERE) क्या करेगा?

अभ्यास: खुद जवाब दो

अपना जवाब लिखो या चुनो, फिर जाँचें दबाओ। अटको तो संकेत देखो; जवाब देने के बाद पूरा हल दिखेगा।

अक्सर पूछे जाने वाले प्रश्न

DDL, DML और DQL क्या हैं?

DDL ढाँचा परिभाषित करता है (CREATE, ALTER, DROP); DML पंक्तियाँ बदलता है (INSERT, UPDATE, DELETE); DQL डेटा पढ़ता है (SELECT)।

CHAR और VARCHAR में क्या अंतर है?

CHAR(n) हमेशा n अक्षर की जगह लेता है; VARCHAR(n) n तक केवल उतनी जितनी मान को चाहिए।

SQL में NULL मान कैसे ढूँढें?

WHERE स्तंभ IS NULL (या IS NOT NULL) लिखें। = NULL काम नहीं करता।

यह कहाँ पढ़ाया जाता है

नीदरलैंडHAVO 4 (bovenbouw, 2e fase)Information
नीदरलैंडVWO 5Information
रोमानियाClasa a XII-aModule 1: Databases (compulsory)
रोमानियाClasa a XII-aModule 2: Database management systems (optional)
रोमानियाClasa a XII-aModule 5: Procedural database programming (optional)
यूक्रेन10 класElective: databases (35 h)
यूक्रेन11 класElective: databases (35 h)
सीबीएसई (भारत)कक्षा 11डेटाबेस संकल्पनाएँ और एसक्यूएल
इंग्लैंडYear 113.7 Relational databases and SQL
जापान高校(専門学科)1〜3年Databases
जर्मनीJahrgangsstufe 9Data modelling and relational databases basics
चीन高二Sel.3 Data management and analysis

पहले यह पढ़ें

इससे जुड़े पाठ

सभी सूचना विज्ञान अभ्यास पाठ