Lesson 05 � Data Manipulation

TABLE MEIN DATA
DAALNA SEEKHO.

Database banana baad mein aata hai�pehle data daalna padta hai. Naye students, naye orders, naye records�sab INSERT INTO se add hote hain. Bina data ke table khaali hai, aur query bhi kuch nahi degi.

? 16 min✓ Beginner✓ Prerequisite: ORDER BY

WHY: INSERT kyun zaruri hai?

Socho aapne ek school database banaya�students table tayyar hai columns ke saath. Lekin table khaali hai. Ab kya✓ INSERT INTO se aap naye rows add karoge. Ye sabse pehla kaam hai database mein�data daalna. Bina INSERT ke aap SELECT, WHERE, ORDER BY�kuch bhi nahi kar paoge kyunki kuch hoga hi nahi table mein.

INSERT

Single row add karna table mein. Ek student ka record, ek order�ek ek karke daalo.

INSERT MANY

Multiple rows ek saath add karna. Ek hi statement mein 3-4 students daal do�fast aur clean.

DEFAULT

Default values use karna. Jab column ki value fixed ho ya auto-generate ho, toh INSERT mein skip karo.

HOW: INSERT ka syntax

INSERT INTO do tarikon se use hota hai�columns specify karke ya bina specify kiye. Dono tarike dekhte hain.

1. Single row insert

Ek naya student add karo�columns aur values dono likho:

sql
INSERT INTO students (id, name, age, course, marks)
VALUES (4, 'Neha', 20, 'AI', 88.0);
Remember: Column order aur value order same hona chahiye. id pehle hai toh 4 pehle aayega.

2. Multiple rows insert

Tinn naye students ek saath add karo�comma se separate karo:

sql
INSERT INTO students (id, name, age, course, marks) VALUES
(5, 'Vikram', 24, 'ML', 91.5),
(6, 'Sneha', 22, 'Python', 84.0),
(7, 'Amit', 23, 'Data Science', 79.5);

3. Bina columns ke insert

Agar saare columns ki value de rahe ho (table ki column order mein), toh columns likhne ki zaroorat nahi:

sql
INSERT INTO students VALUES (8, 'Riya', 21, 'SQL', 95.0);
Note: Ye risky hai agar table mein column add ya remove ho jaye. Hamesha columns specify karna better practice hai.

4. Default values

Agar column ka default value hai (jaise created_at ka CURRENT_TIMESTAMP), toh uss column ko skip karo:

sql
INSERT INTO students (id, name, age, course, marks)
VALUES (9, 'Karan', 19, 'DS', 82.0);

5. Another table se insert

Ek table se data utha ke doosre mein daalo�backup banana ho ya filtered data chahiye ho:

sql
INSERT INTO backup_students
SELECT * FROM students WHERE marks > 90;

6. INSERT with SELECT

Doosre table se specific columns utha ke insert karo:

sql
INSERT INTO top_students (id, name, marks)
SELECT id, name, marks FROM students WHERE marks > 85;

Syntax quick reference

sql
-- Single row
INSERT INTO table_name (col1, col2, col3)
VALUES (val1, val2, val3);

-- Multiple rows
INSERT INTO table_name (col1, col2, col3) VALUES
(val1a, val2a, val3a),
(val1b, val2b, val3b),
(val1c, val2c, val3c);

-- All columns (risky)
INSERT INTO table_name
VALUES (val1, val2, val3);

-- From another table
INSERT INTO target_table (col1, col2)
SELECT col1, col2 FROM source_table WHERE condition;

Try it: naye students add karo

Neeche diye gaye SQL queries ko editor mein modify karo aur dekho output kaise badalta hai. Pehle single row insert try karo, phir multiple rows.

SQL playgroundBrowser mein query run karo
Run query dabayein

Exercise

INSERT statement likho jo 2 naye students add kare. Pehle ek student add karo�id 9, name 'New', age 22, course 'DS', marks 85.0.

Syntax yaad karo: INSERT INTO table_name (columns) VALUES (values); � columns aur values ka order same hona chahiye.

Common beginner mistakes

INSERT clear hai?

Ab existing data ko modify karna seekho�UPDATE se rows ki values change karo.