DML স্টেটমেন্ট হলো একটি টেবিলের ভেতরের সারি পড়া আর বদলানোর উপায় — যে কমান্ডগুলো আপনি এখন পর্যন্ত সবচেয়ে বেশি টাইপ করবেন।
এক বা একাধিক টেবিল থেকে রেকর্ড আনে।
SELECT columns FROM table_name;SELECT * FROM Employee;| id | name | salary |
|---|---|---|
| 1 | John | 65000 |
| 2 | Alice | 70000 |
সাধারণ ভুল
প্রোডাকশন কোডে প্রয়োজনীয় কলামের নাম বলার বদলে SELECT * ব্যবহার করা।
ফলাফল সেটের জন্য একটি কলাম বা টেবিলকে একটি সাময়িক, আরও পড়া-যায় এমন নাম দেয়।
SELECT column AS alias FROM table_name;SELECT name AS EmployeeName, salary AS MonthlySalary
FROM Employee;সাধারণ ভুল
একই SELECT-এর WHERE ক্লজের ভেতরে একটি অ্যালিয়াস রেফারেন্স করা, যেখানে এটি তখনও উপলব্ধ নয়।
একটি টেবিলে একটি নতুন সারি যোগ করে।
INSERT INTO table_name (columns)
VALUES (values);INSERT INTO Employee (name, department, salary)
VALUES ('John', 'IT', 65000);সাধারণ ভুল
কোনো ডিফল্ট ছাড়া একটি প্রয়োজনীয় কলাম বাদ দেওয়া, যা একটি কনস্ট্রেইন্ট এরর তৈরি করে।
বিদ্যমান সারির মান পরিবর্তন করে।
UPDATE table_name
SET column = value
WHERE condition;UPDATE Employee
SET salary = 70000
WHERE id = 1;সাধারণ ভুল
WHERE ক্লজ ছাড়া UPDATE চালানো আর পুরো টেবিল আবার লেখা।
একটি টেবিল থেকে নির্দিষ্ট সারি সরিয়ে দেয়।
DELETE FROM table_name
WHERE condition;DELETE FROM Employee
WHERE id = 1;সাধারণ ভুল
DELETE (সারি-স্তর, DML)-কে DROP বা TRUNCATE (টেবিল-স্তর, DDL)-এর সাথে গুলিয়ে ফেলা — DDL পাঠ দেখুন।
আপনার টেবিল তৈরি হয়ে গেলে DML হলো সেই পরিবার যা আপনি ক্রমাগত ব্যবহার করবেন। পরের পাঠে DCL নিয়ে আলোচনা হবে — অনেক ছোট একটি পরিবার যা নিয়ন্ত্রণ করে কে আসলে এই কমান্ডগুলো চালাতে পারবে।