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.
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.
Single row add karna table mein. Ek student ka record, ek order�ek ek karke daalo.
Multiple rows ek saath add karna. Ek hi statement mein 3-4 students daal do�fast aur clean.
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:
INSERT INTO students (id, name, age, course, marks)
VALUES (4, 'Neha', 20, 'AI', 88.0);id pehle hai toh 4 pehle aayega.2. Multiple rows insert
Tinn naye students ek saath add karo�comma se separate karo:
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:
INSERT INTO students VALUES (8, 'Riya', 21, 'SQL', 95.0);4. Default values
Agar column ka default value hai (jaise created_at ka CURRENT_TIMESTAMP), toh uss column ko skip karo:
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:
INSERT INTO backup_students
SELECT * FROM students WHERE marks > 90;6. INSERT with SELECT
Doosre table se specific columns utha ke insert karo:
INSERT INTO top_students (id, name, marks)
SELECT id, name, marks FROM students WHERE marks > 85;Syntax quick reference
-- 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.
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
- Column-value mismatch: Agar 5 columns likhe ho aur 4 values diye ho�error aayega. Hamesha count match karo.
- String mein double quotes:
VALUES (1, "Neha")galat hai. Strings hamesha single quotes mein:'Neha'. - Duplicate primary key: Agar id=4 pehle se hai aur phir se daalte ho�error aayega. UNIQUE constraint violation hota hai.
- Column order bhoolna: Bina columns ke INSERT karna risky hai. Agar table mein column add ho gaya toh values galat jagah chali jayengi.
- Semicolon bhoolna: Har statement ke baad
;lagana zaroori hai�warna query complete nahi manegi.
Ab existing data ko modify karna seekho�UPDATE se rows ki values change karo.