কম্পিউটার টিউটোরিয়াল

SQL Server-এ DELETE কমান্ড

SQL Server (Transact-SQL)-এ DELETE স্টেটমেন্ট একটি টেবিল থেকে এক বা একাধিক রেকর্ড ডিলিট করতে ব্যবহৃত হয়।

SQL Server-এ DELETE কমান্ড সিনট্যাক্স

DELETE কমান্ডের সিম্পল সিনট্যাক্স নিচের মত।

DELETE FROM bang
[WHERE dieu_kien];

DELETE কমান্ডের পূর্ণ সিনট্যাক্স নিচের মত।

DELETE [TOP (giatri_dau) [PERCENT] ]
FROM bang
[WHERE dieu_kien];

ভেরিয়েবল নাম বা মান

bang

রেকর্ড ডিলিট করতে চাওয়া টেবিল।

WHERE dieu_kien

ঐচ্ছিক। রেকর্ড ডিলিট হওয়ার জন্য যা শর্ত পূরণ করতে হবে।

TOP (giatri_dau)

ঐচ্ছিক। যদি নির্দিষ্ট করা হয়, giatri_dau বেসে প্রথম সারির মান ডিলিট করবে। উদাহরণ: TOP (10) রেজাল্ট সেট থেকে প্রথম ১০ সারি ডিলিট করবে।

PERCENT

ঐচ্ছিক। যদি নির্দিষ্ট করা হয়, giatri_dau পার্সেন্টেজ বেসে প্রথম সারিগুলো ডিলিট করবে। উদাহরণ: TOP (10) PERCENT রেজাল্ট সেটের প্রথম ১০% মান ডিলিট করবে।

নোট

DELETE স্টেটমেন্টে ফিল্ড লিস্ট করার প্রয়োজন নেই কারণ টেবিলের সকল সারি ডিলিট হবে।

উদাহরণ - ১ শর্ত ব্যবহার

DELETE FROM nhanvien
WHERE ten = 'Sarah';

এই কমান্ড nhanvien টেবিলে নাম Sarah वाले সকল রেকর্ড ডিলিট করবে।

আপনি যদি ডিলিট হওয়া আইটেমের সংখ্যা জানতে চান, ডিলিট কমান্ড এক্সিকিউট করার আগে SELECT কমান্ড চালান।

SELECT count(*)
FROM nhanvien
WHERE ten = 'Sarah';

উদাহরণ - ২ শর্ত ব্যবহার

DELETE FROM nhanvien
WHERE ho = 'Johnson'
AND nhanvien_id >= 80;

এই কমান্ড nhanvien টেবিলের সকল রেকর্ড ডিলিট করবে যেখানে কর্মচারীর উপনাম Johnson এবং nhanvien_id ৮০ বা তার বেশি।

ডিলিট হওয়া সারির সংখ্যা জানতে, DELETE কমান্ড চালানোর আগে নিচের SELECT স্টেটমেন্ট চালান।

SELECT count(*)
FROM nhanvien
WHERE ho = 'Johnson'
AND nhanvien_id >= 80;

উদাহরণ - TOP কীওয়ার্ড ব্যবহার

DELETE TOP(3)
FROM nhanvien
WHERE ho = 'Johnson';

এটি টেবিলের প্রথম ৩ রেকর্ড ডিলিট করবে যেখানে কর্মচারীর উপনাম Johnson। যদি এই টেবিলে Johnson উপনাম वाले অন্যান্য রেকর্ড থাকে, তবে সেগুলো এই DELETE-র প্রভাব পাবে না।

উদাহরণ - EXISTS ক্লজ ব্যবহার

আপনি আরও জটিল ডিলিট কমান্ড এক্সিকিউট করতে পারেন, যেমন অন্য টেবিলের মান বেসে একটি টেবিলের রেকর্ড ডিলিট করা। কারণ DELETE স্টেটমেন্টে FROM ক্লজে একাধিক টেবিল রেন্ডার করা সম্ভব না, EXISTS ক্লজ ব্যবহার করা যায় নিচের মত।

DELETE FROM nhanvien
WHERE EXISTS
(SELECT *
FROM danhba
WHERE danhba.danhba_id = nhanvien.nhanvien_id
AND danhba.danhba_id < 100);

এই DELETE স্টেটমেন্ট nhanvien টেবিলের সকল রেকর্ড ডিলিট করবে যখন danhba টেবিলে danhba_id ১০০-এর চেয়ে কম এবং danhba_id nhanvien_id-এর সাথে মেলে এমন রেকর্ড থাকে।

আপনি যদি ডিলিট হওয়া লাইনের সংখ্যা নির্ধারণ করতে চান, ডিলিট করার আগে SELECT কমান্ড চালান।

SELECT count(*)
FROM nhanvien
WHERE EXISTS
(SELECT *
FROM danhba
WHERE danhba.danhba_id = nhanvien.nhanvien_id
AND danhba.danhba_id < 100);
  1. SQL Server-এ PIVOT ক্লজ

  2. SQL Server-এ SELECT INTO কমান্ড

  3. SQL Server-এ DELETE TOP কমান্ড

  4. SQL Server-এ SELECT কমান্ড