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

MySQL: UPDATE, DELETE और ALTER

शुरुआती data

हम पिछले lesson में डाली गई 7 rows (RollNo 101–107) वाली वही STUDENT table use करते हैं। इस page की queries एक के बाद एक चलती हैं, इसलिए हर query पिछली queries के बदलाव देखती है।

UPDATE – data बदलना

Syntax
UPDATE table_name
SET column1 = value1, column2 = value2
WHERE condition;

XI-B को 2 grace marks:

SQL
UPDATE STUDENT SET Marks = Marks + 2 WHERE Class = 'XI-B';
SELECT Name, Class, Marks FROM STUDENT WHERE Class = 'XI-B';
Output
+-------+-------+-------+
| Name  | Class | Marks |
+-------+-------+-------+
| Kabir | XI-B  |  69.5 |
| Diya  | XI-B  |  77.0 |
+-------+-------+-------+

एक student के कई columns update:

SQL
UPDATE STUDENT SET City = 'Agra', DOB = '2009-01-20' WHERE RollNo = 107;
SELECT * FROM STUDENT WHERE RollNo = 107;
Output
+--------+-------+--------+------------+-------+-------+------+
| RollNo | Name  | Gender | DOB        | Class | Marks | City |
+--------+-------+--------+------------+-------+-------+------+
|    107 | Rohan | M      | 2009-01-20 | XI-A  |  39.5 | Agra |
+--------+-------+--------+------------+-------+-------+------+

Missing cities भरना:

SQL
UPDATE STUDENT SET City = 'Not given' WHERE City IS NULL;
SELECT Name, City FROM STUDENT;
Output
+--------+-----------+
| Name   | City      |
+--------+-----------+
| Aarav  | Jaipur    |
| Sana   | Lucknow   |
| Kabir  | Jaipur    |
| Diya   | Pune      |
| Ishaan | Delhi     |
| Meher  | Not given |
| Rohan  | Agra      |
+--------+-----------+

DELETE – rows हटाना

Syntax
DELETE FROM table_name WHERE condition;
SQL
DELETE FROM STUDENT WHERE Marks < 40;
SELECT RollNo, Name, Marks FROM STUDENT;
Output
+--------+--------+-------+
| RollNo | Name   | Marks |
+--------+--------+-------+
|    101 | Aarav  |  88.5 |
|    102 | Sana   |  92.0 |
|    103 | Kabir  |  69.5 |
|    104 | Diya   |  77.0 |
|    105 | Ishaan |  54.0 |
|    106 | Meher  |  81.0 |
+--------+--------+-------+

Rohan (39.5) हट गया। WHERE के बिना सारी rows delete होतीं, पर ख़ाली table बनी रहती।

ALTER TABLE – ढाँचा बदलना

➕
ADDनया column: ALTER TABLE t ADD col type;
🔧
MODIFYType/size/constraint बदलना: ALTER TABLE t MODIFY col newtype;
✏️
CHANGEनाम + type बदलना: ALTER TABLE t CHANGE old new type;
➖
DROPColumn हटाना: ALTER TABLE t DROP col;
ALTER TABLE options
SQL
ALTER TABLE STUDENT ADD Email VARCHAR(40);
DESCRIBE STUDENT;
Output
+--------+--------------+------+-----+---------+-------+
| Field  | Type         | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| RollNo | int          | NO   | PRI | NULL    |       |
| Name   | varchar(30)  | NO   |     | NULL    |       |
| Gender | char(1)      | YES  |     | NULL    |       |
| DOB    | date         | YES  |     | NULL    |       |
| Class  | varchar(5)   | YES  |     | XI-A    |       |
| Marks  | decimal(5,1) | YES  |     | NULL    |       |
| City   | varchar(20)  | YES  |     | NULL    |       |
| Email  | varchar(40)  | YES  |     | NULL    |       |
+--------+--------------+------+-----+---------+-------+
SQL
ALTER TABLE STUDENT MODIFY Name VARCHAR(40) NOT NULL;
ALTER TABLE STUDENT CHANGE City HomeCity VARCHAR(25);
ALTER TABLE STUDENT DROP Email;
DESCRIBE STUDENT;
Output
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| RollNo   | int          | NO   | PRI | NULL    |       |
| Name     | varchar(40)  | NO   |     | NULL    |       |
| Gender   | char(1)      | YES  |     | NULL    |       |
| DOB      | date         | YES  |     | NULL    |       |
| Class    | varchar(5)   | YES  |     | XI-A    |       |
| Marks    | decimal(5,1) | YES  |     | NULL    |       |
| HomeCity | varchar(25)  | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+

Default value बदलना:

SQL
ALTER TABLE STUDENT ALTER Class SET DEFAULT 'XI-B';
INSERT INTO STUDENT (RollNo, Name) VALUES (108, 'Tara');
SELECT RollNo, Name, Class FROM STUDENT WHERE RollNo = 108;
Output
+--------+------+-------+
| RollNo | Name | Class |
+--------+------+-------+
|    108 | Tara | XI-B  |
+--------+------+-------+

ALTER से keys जोड़ना

MARKS table को composite primary key (एक student, एक subject) और STUDENT की foreign key चाहिए:

SQL
CREATE TABLE MARKS (RollNo INT, Subject VARCHAR(20), Score INT);
ALTER TABLE MARKS ADD PRIMARY KEY (RollNo, Subject);
ALTER TABLE MARKS ADD FOREIGN KEY (RollNo) REFERENCES STUDENT(RollNo);
DESCRIBE MARKS;
Output
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| RollNo  | int         | NO   | PRI | NULL    |       |
| Subject | varchar(20) | NO   | PRI | NULL    |       |
| Score   | int         | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

Primary key हटाने के लिए: ALTER TABLE MARKS DROP PRIMARY KEY;

DELETE vs DROP

SQL
DELETE FROM MARKS;     -- removes all rows, table stays
DROP TABLE MARKS;      -- removes the table itself
SQL
SHOW TABLES;
Output
+------------------+
| Tables_in_school |
+------------------+
| STUDENT          |
+------------------+

DELETE (DML)

  • Rows हटाता है (सब या WHERE से कुछ)
  • Table का ढाँचा बना रहता है
  • DELETE FROM MARKS;

DROP (DDL)

  • पूरी table हटाता है: ढाँचा + data
  • Table रहती ही नहीं
  • DROP TABLE MARKS;
फ़र्क जानें

Safety tips

  1. 1पहले उसी WHERE के साथ SELECT चलाकर देखें कौन सी rows बदलेंगी।
  2. 2हमेशा check करें कि UPDATE और DELETE में WHERE है।
  3. 3ठीक एक row बदलने के लिए WHERE में primary key use करें।
  4. 4ज़रूरी tables पर ALTER या DROP से पहले backup लें।
Data बदलने से पहले

सारांश और practice

  • UPDATE … SET … WHERE मौजूदा rows बदलता है।
  • DELETE FROM … WHERE rows हटाता है; DROP TABLE table हटाता है।
  • ALTER TABLE: ADD, MODIFY, CHANGE, DROP columns; ADD/DROP PRIMARY KEY; ALTER … SET DEFAULT।
✅ Practice

SQL लिखें: (1) सभी लड़कियों के marks 5% बढ़ाएँ, (2) RollNo 105 की class XI-C करें, (3) Pune के students delete करें, (4) column Phone CHAR(10) जोड़ें, (5) column Marks का नाम Percentage करें।

Answers: (1) UPDATE STUDENT SET Marks = Marks * 1.05 WHERE Gender = 'F'; (5) ALTER TABLE STUDENT CHANGE Marks Percentage DECIMAL(5,1);

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

UPDATE या DELETE में WHERE भूल जाऊँ तो क्या होगा?
बदलाव table की हर row पर लागू होगा। UPDATE STUDENT SET Marks = 0; सबके marks 0 कर देगा, और DELETE FROM STUDENT; table ख़ाली कर देगा।
ALTER DDL है या DML?
ALTER TABLE DDL है क्योंकि यह table का ढाँचा (schema) बदलता है। UPDATE और DELETE DML हैं क्योंकि ये data बदलते हैं।
ALTER TABLE में MODIFY और CHANGE में क्या फ़र्क है?
MODIFY column का data type या constraints बदलता है पर नाम वही रखता है। CHANGE column का नाम भी बदल सकता है और type भी।
← Class 11 Informatics Practices
🔗

Share this topic with a friend

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

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

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

अगला topicज़रूरी Programs और SQL Queries आपकी प्रगति: 18 / 20 (90%) · Lesson 19 / 20 आगे बढ़ें →

यह lesson कैसा लगा?

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

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

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

▶ CodingEasily on YouTube

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

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

▶ Channel subscribe करें