Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
🗄️ Unit 3 – Database और SQL  ·  Lesson 21

SQL: DDL, DML और SELECT

SQL क्या है?

SQL (Structured Query Language) MySQL जैसे relational databases के साथ काम करने की standard भाषा है। Keywords case-sensitive नहीं हैं और हर statement semicolon पर ख़त्म होता है।

🏗️
DDLData Definition: CREATE, ALTER, DROP – structure तय करते हैं।
✏️
DMLData Manipulation: INSERT, UPDATE, DELETE, SELECT – rows पर काम।
🛡️
DCL / TCLGRANT, REVOKE, COMMIT, ROLLBACK – permissions और transactions।
SQL commands की श्रेणियाँ
SQL
CREATE DATABASE SCHOOL;
USE SCHOOL;
SHOW TABLES;

Data types और constraints

Data typeक्या रखता हैExample
INTपूर्ण संख्याएँRollNo INT
DECIMAL(p,s) / FLOATदशमलव वाली संख्याएँMarks DECIMAL(5,1)
CHAR(n)Fixed-length textGender CHAR(1)
VARCHAR(n)Variable-length textName VARCHAR(25)
DATEYYYY-MM-DDDOB DATE
Constraintमतलब
PRIMARY KEYUnique + NOT NULL पहचान
NOT NULLValue देनी ही होगी
UNIQUEदो rows की value एक जैसी नहीं
DEFAULTValue न देने पर यह लगेगी
FOREIGN KEYदूसरी table की key से मेल खाना चाहिए

CREATE TABLE और DESCRIBE

SQL
CREATE TABLE STUDENT (
  RollNo  INT PRIMARY KEY,
  Name    VARCHAR(25) NOT NULL,
  Stream  VARCHAR(12),
  Marks   DECIMAL(5,1),
  City    VARCHAR(15) DEFAULT 'Delhi'
);
SQL
DESCRIBE STUDENT;
Output
+--------+--------------+------+-----+---------+-------+
| Field  | Type         | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| RollNo | int          | NO   | PRI | NULL    |       |
| Name   | varchar(25)  | NO   |     | NULL    |       |
| Stream | varchar(12)  | YES  |     | NULL    |       |
| Marks  | decimal(5,1) | YES  |     | NULL    |       |
| City   | varchar(15)  | YES  |     | Delhi   |       |
+--------+--------------+------+-----+---------+-------+

INSERT

Values column के क्रम में हों; text और dates quotes में। Column list देने पर बचे columns को DEFAULT (City = 'Delhi') या NULL मिलता है।

SQL
INSERT INTO STUDENT VALUES
 (1, 'Anika',  'Science',  91.5, 'Jaipur'),
 (2, 'Dev',    'Commerce', 78.0, 'Delhi'),
 (3, 'Farhan', 'Science',  64.5, 'Lucknow'),
 (4, 'Gauri',  'Humanities', 88.0, 'Delhi'),
 (5, 'Harsh',  'Commerce', 55.0, 'Pune'),
 (6, 'Isha',   'Science',  NULL, 'Jaipur');
SQL
INSERT INTO STUDENT (RollNo, Name, Stream, Marks) VALUES (7, 'Jatin', 'Commerce', 69.5);
SQL
SELECT * FROM STUDENT;
Output
+--------+--------+------------+-------+---------+
| RollNo | Name   | Stream     | Marks | City    |
+--------+--------+------------+-------+---------+
|      1 | Anika  | Science    |  91.5 | Jaipur  |
|      2 | Dev    | Commerce   |  78.0 | Delhi   |
|      3 | Farhan | Science    |  64.5 | Lucknow |
|      4 | Gauri  | Humanities |  88.0 | Delhi   |
|      5 | Harsh  | Commerce   |  55.0 | Pune    |
|      6 | Isha   | Science    |  NULL | Jaipur  |
|      7 | Jatin  | Commerce   |  69.5 | Delhi   |
+--------+--------+------------+-------+---------+

SELECT और WHERE

  1. 1FROM – table चुनें
  2. 2WHERE – सिर्फ़ मेल खाती rows रखें
  3. 3SELECT – columns चुनें
  4. 4ORDER BY – result sort करें
Query किस क्रम में process होती है
SQL
SELECT Name, Marks FROM STUDENT WHERE Stream = 'Science' AND Marks > 70;
Output
+-------+-------+
| Name  | Marks |
+-------+-------+
| Anika |  91.5 |
+-------+-------+

BETWEEN, IN, LIKE, NULL

BETWEEN a AND b में दोनों सिरे शामिल हैं। IN list की किसी भी value से मेल खाता है। LIKE में % मतलब कितने भी characters और _ ठीक एक।

SQL
SELECT Name, Marks FROM STUDENT WHERE Marks BETWEEN 60 AND 80;
Output
+--------+-------+
| Name   | Marks |
+--------+-------+
| Dev    |  78.0 |
| Farhan |  64.5 |
| Jatin  |  69.5 |
+--------+-------+
SQL
SELECT Name, City FROM STUDENT WHERE City IN ('Jaipur', 'Pune');
Output
+-------+--------+
| Name  | City   |
+-------+--------+
| Anika | Jaipur |
| Harsh | Pune   |
| Isha  | Jaipur |
+-------+--------+
SQL
SELECT Name FROM STUDENT WHERE Name LIKE '%a' OR Name LIKE '_a%';
Output
+--------+
| Name   |
+--------+
| Anika  |
| Farhan |
| Gauri  |
| Harsh  |
| Isha   |
| Jatin  |
+--------+
SQL
SELECT Name, Marks FROM STUDENT WHERE Marks IS NULL;
Output
+------+-------+
| Name | Marks |
+------+-------+
| Isha |  NULL |
+------+-------+

DISTINCT, ORDER BY, aliases

SQL
SELECT DISTINCT Stream FROM STUDENT;
Output
+------------+
| Stream     |
+------------+
| Science    |
| Commerce   |
| Humanities |
+------------+
SQL
SELECT Name, Marks FROM STUDENT WHERE Marks IS NOT NULL ORDER BY Marks DESC;
Output
+--------+-------+
| Name   | Marks |
+--------+-------+
| Anika  |  91.5 |
| Gauri  |  88.0 |
| Dev    |  78.0 |
| Jatin  |  69.5 |
| Farhan |  64.5 |
| Harsh  |  55.0 |
+--------+-------+
SQL
SELECT Name, Marks, Marks * 5 AS 'Out of 500' FROM STUDENT WHERE Stream = 'Commerce';
Output
+-------+-------+------------+
| Name  | Marks | Out of 500 |
+-------+-------+------------+
| Dev   |  78.0 |      390.0 |
| Harsh |  55.0 |      275.0 |
| Jatin |  69.5 |      347.5 |
+-------+-------+------------+

UPDATE और DELETE

⚠️ हमेशा WHERE लगाएँ

बिना WHERE के UPDATE या DELETE हर row बदल या हटा देता है।

SQL
UPDATE STUDENT SET Marks = 72.0 WHERE RollNo = 6;
SQL
UPDATE STUDENT SET Marks = Marks + 2 WHERE Stream = 'Commerce';
SQL
SELECT RollNo, Name, Marks FROM STUDENT WHERE Stream IN ('Commerce') OR RollNo = 6;
Output
+--------+-------+-------+
| RollNo | Name  | Marks |
+--------+-------+-------+
|      2 | Dev   |  80.0 |
|      5 | Harsh |  57.0 |
|      6 | Isha  |  72.0 |
|      7 | Jatin |  71.5 |
+--------+-------+-------+
SQL
DELETE FROM STUDENT WHERE Marks < 60;

ALTER और DROP

SQL
ALTER TABLE STUDENT ADD Phone CHAR(10);
SQL
ALTER TABLE STUDENT MODIFY Name VARCHAR(40) NOT NULL;
SQL
ALTER TABLE STUDENT DROP Phone;
SQL
SELECT * FROM STUDENT;
Output
+--------+--------+------------+-------+---------+
| RollNo | Name   | Stream     | Marks | City    |
+--------+--------+------------+-------+---------+
|      1 | Anika  | Science    |  91.5 | Jaipur  |
|      2 | Dev    | Commerce   |  80.0 | Delhi   |
|      3 | Farhan | Science    |  64.5 | Lucknow |
|      4 | Gauri  | Humanities |  88.0 | Delhi   |
|      6 | Isha   | Science    |  72.0 | Jaipur  |
|      7 | Jatin  | Commerce   |  71.5 | Delhi   |
+--------+--------+------------+-------+---------+
SQL
CREATE TABLE TEMP (ID INT);
SQL
DROP TABLE TEMP;

DDL vs DML

DDL

  • Structure (schema) पर काम
  • CREATE, ALTER, DROP
  • ALTER columns जोड़ता/बदलता/हटाता है
  • DROP TABLE table + data हटाता है

DML

  • Data (rows) पर काम
  • INSERT, UPDATE, DELETE, SELECT
  • UPDATE rows की values बदलता है
  • DELETE rows हटाता है, table रहती है

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

DELETE और DROP में क्या फ़र्क है?
DELETE (DML) rows हटाता है पर table का structure रहता है। DROP TABLE (DDL) पूरे data समेत table ही हटा देता है।
CHAR और VARCHAR में क्या फ़र्क है?
CHAR(n) हमेशा n characters लेता है (spaces से भरकर)। VARCHAR(n) n तक सिर्फ़ उतने characters लेता है जितने रखे गए।
= NULL की जगह IS NULL क्यों लिखते हैं?
NULL का मतलब अज्ञात है, इसलिए = से तुलना कभी true नहीं होती। इसे जाँचने का ख़ास operator IS NULL है।
← Class 12 Computer Science
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

अगला topicAggregate Functions, GROUP BY, HAVING आपकी प्रगति: 21 / 26 (81%) · Lesson 22 / 26 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें