এগুলি হল DML (Data Manipulation Language) কমান্ড যা ডেটা পরিবর্তন করে: INSERT সারি যোগ করে, বিদ্যমান সারি সংশোধন করে, সারি মুছে ফেলে। এর বিপরীতে (যা শুধুমাত্র পড়ে), এগুলি ডাটাবেস সংশোধন করে — তাই তাদের যত্ন প্রয়োজন, বিশেষ করে ক্লজ।
এগুলি হল DML (Data Manipulation Language) কমান্ড যা ডেটা পরিবর্তন করে: INSERT সারি যোগ করে, বিদ্যমান সারি সংশোধন করে, সারি মুছে ফেলে। এর বিপরীতে (যা শুধুমাত্র পড়ে), এগুলি ডাটাবেস সংশোধন করে — তাই তাদের যত্ন প্রয়োজন, বিশেষ করে ক্লজ।
UPDATEDELETESELECTWHERE-- insert one row
INSERT INTO users (name, email, age)
VALUES ('Ann', '[email protected]', 30);
-- insert multiple rows at once (efficient)
INSERT INTO users (name, email)
VALUES ('Bob', '[email protected]'), ('Carol', '[email protected]');
-- insert from a query
INSERT INTO archived_users SELECT * FROM users WHERE inactive = true;
আপনি কলাম এবং মান নির্দিষ্ট করেন। একটি স্টেটমেন্টে একাধিক সারি সন্নিবেশ করানো অনেক আলাদা সন্নিবেশের চেয়ে বেশি কার্যকর।
UPDATE users
SET age = 31, updated_at = NOW() -- set one or more columns
WHERE id = 5; -- ❗ WHICH rows to update
-- ❌ DANGER — no WHERE clause updates EVERY row in the table!
UPDATE users SET active = false; -- sets ALL users inactive 😱
গুরুত্বপূর্ণ: একটি UPDATE (বা DELETE) WHERE ক্লজ ছাড়া টেবিলের প্রতিটি সারিকে প্রভাবিত করে। WHERE ভুলে যাওয়া একটি বিপর্যয়কর, সাধারণ ভুল — সর্বদা এটি দ্বিগুণ-পরীক্ষা করুন।
DELETE FROM users WHERE id = 5; -- delete a specific row
DELETE FROM users WHERE inactive = true; -- delete matching rows
-- ❌ DANGER — no WHERE deletes the ENTIRE table's contents!
DELETE FROM users;
✓ ALWAYS include a WHERE clause (unless you truly mean to affect all rows)
✓ Test the WHERE first with SELECT (SELECT * WHERE ... → see what you'd affect)
✓ Use TRANSACTIONS (BEGIN ... COMMIT/ROLLBACK) so you can undo mistakes
✓ DELETE vs TRUNCATE: TRUNCATE quickly empties a whole table (faster, but not row-by-row,
can't be rolled back in some DBs, resets auto-increment)
INSERT, UPDATE এবং DELETE হল কীভাবে অ্যাপ্লিকেশনগুলি ডেটা পরিবর্তন করে — যেকোনো অ্যাপ্লিকেশনের জন্য মৌলিক যা তথ্য সংরক্ষণ এবং সংশোধন করে (রেকর্ড তৈরি করা, সম্পাদনা, অপসারণ), তাই SELECT এর সাথে তাদের বোঝা অপরিহার্য দৈনন্দিন জ্ঞান।
সারি সন্নিবেশ করানো (একক, একাধিক, বা একটি কোয়েরি থেকে), আপডেট করা (কলাম সেট করা) এবং সারি মুছে ফেলা কীভাবে করতে হয় তা জানা সমস্ত ডেটা-সংশোধনকারী ক্রিয়াকলাপের জন্য প্রয়োজনীয়।
সবচেয়ে গুরুত্বপূর্ণ পয়েন্ট হল একটি হারানো WHERE ক্লজের বিপদ: একটি UPDATE বা DELETE ছাড়া WHERE টেবিলের প্রতিটি সারিকে প্রভাবিত করে — একটি বিপর্যয়কর, অবাক করা সাধারণ ভুল যা সমস্ত ডেটা মুছে ফেলতে বা দূষিত করতে পারে।
এই বিপদ এবং নিরাপত্তা অনুশীলন বোঝা (সর্বদা WHERE অন্তর্ভুক্ত করুন, প্রথমে SELECT দিয়ে শর্তটি পরীক্ষা করুন, লেনদেন ব্যবহার করুন যাতে ভুলগুলি রোল ব্যাক করা যায়) গুরুত্বপূর্ণ জ্ঞান যা গুরুতর ডেটা-ক্ষতি দুর্ঘটনা প্রতিরোধ করে।
সম্পর্কিত বিবরণ জানা (দক্ষ বহু-সারি সন্নিবেশ, টেবিল খালি করার জন্য DELETE বনাম TRUNCATE) ব্যবহারিক জ্ঞান সম্পূর্ণ করে।
ডেটা সংশোধন করা অ্যাপ্লিকেশনের জন্য মৌলিক, এবং যেহেতু হারানো-WHERE ভুল উভয়ই বিপর্যয়কর এবং সাধারণ (বাস্তব উৎপাদন ডেটা দুর্ঘটনার একটি ঘন ঘন কারণ), এই DML কমান্ডগুলিতে দক্ষতা অর্জন করা — এবং বিশেষ করে WHERE ক্লজ এবং লেনদেন সুরক্ষার চারপাশে সমালোচনামূলক শৃঙ্খলা — মূল, অবশ্যই-জানার জ্ঞান যে কেউ ডেটা-পরিবর্তনকারী SQL লেখে তাদের জন্য, যেখানে ঝুঁকি (অপরিবর্তনীয় ডেটা ক্ষতি) নিরাপত্তা অনুশীলনকে সিন্টাক্সের মতোই গুরুত্বপূর্ণ করে তোলে।