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

SQL Server-এ INSERT স্টেটমেন্ট

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

INSERT কমান্ড সিনট্যাক্স

এক রেকর্ড ইনসার্ট

সबচেয়ে সিম্পল ফর্মে, VALUES কীওয়ার্ড দিয়ে এক রেকর্ড ইনসার্ট করার INSERT কমান্ড সিনট্যাক্স

INSERT INTO bang
(cot1, cot2, …)
VALUES
(bieuthuc1, bieuthuc2, …),
(bieuthuc1, bieuthuc2, …),
. ;

VALUES কীওয়ার্ড দিয়ে এক রেকর্ড ইনসার্ট করার পূর্ণ সিনট্যাক্স

INSERT INTO bang
(cot1, cot2, …)
VALUES
(DEFAULT | NULL | bieuthuc1,
DEFAULT | NULL | bieuthuc2,
…
);

অথবা DEFAULT VALUES কীওয়ার্ড ব্যবহার করে এক রেকর্ড ইনসার্ট করার সিনট্যাক্স

INSERT INTO bang
(cot1, cot2, …)
DEFAULT VALUES;

একাধিক রেকর্ড ইনসার্ট

সबচেয়ে সিম্পল ফর্মে, সাব-সিলেক্ট দিয়ে একাধিক রেকর্ড ইনসার্ট করার সিনট্যাক্স

INSERT INTO bang
(cot1, cot2, …)
SELECT bieuthuc1, bieuthuc2, …
FROM bang_nguon
[WHERE dieukien];

সাব-সিলেক্ট দিয়ে একাধিক রেকর্ড ইনসার্ট করার পূর্ণ সিনট্যাক্স

INSERT [TOP (giatri_dau) [PERCENT] ]
INTO bang
(cot1, cot2, …)
SELECT bieuthuc1, bieuthuc2, …
FROM bang_nguon
[WHERE dieukien];

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

bang

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

cot1, cot2

টেবিলে মান ইনসার্ট করার কলাম।

bieuthuc1, bieuthuc2

টেবিলের কলামে নির্দিষ্ট করার মান। cot1-এ bieuthuc1-এর মান, cot2-এ bieuthuc2-এর মান অ্যাসাইন হবে।

TOP (giatri_dau)

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

PERCENT

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

bang_nguon

সোর্স টেবিল (মূল টেবিল) অন্য টেবিল থেকে ডেটা ইনসার্ট করার জন্য।

WHERE dieukien

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

নোট

  1. INSERT স্টেটমেন্ট দিয়ে টেবিলে রেকর্ড ইনসার্ট করার সময়, NOT NULL কলামগুলোর জন্য মান প্রদান করতে হবে।
  2. INSERT স্টেটমেন্ট থেকে কলাম বাদ দেয়া যাবে যদি কলাম NULL মান অনুমতি দেয়।

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

INSERT INTO nhanvien
(nhanvien_id, ten, ho)
VALUES
(10, 'Anderson', 'Sarah');

এই INSERT স্টেটমেন্ট টেবিলে ১ রেকর্ড ইনসার্ট করবে। এই রেকর্ডের nhanvien_id ১০, উপনাম Anderson এবং নাম Sarah।

এই সিনট্যাক্স একবারে একাধিক রেকর্ড ইনসার্ট করতে ব্যবহার করা যায়। যেমন:

INSERT INTO nhanvien
(nhanvien_id, ho, ten)
VALUES
(10, 'Anderson', 'Sarah'),
(11, 'Johnson', 'Dale');

উপরের INSERT স্টেটমেন্ট দেখাচ্ছে VALUES কীওয়ার্ড দিয়ে একাধিক রেকর্ড ইনসার্ট করা যায়। এই উদাহরণে ২ রেকর্ড ইনসার্ট হয়েছে। প্রথম রেকর্ডের nhanvien_id ১০, উপনাম Anderson, নাম Sarah। দ্বিতীয় রেকর্ডের nhanvien_id ১১, উপনাম Johnson, নাম Dale।

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

INSERT INTO nhanvien
(nhanvien_id, ho, ten)
VALUES
(10, 'Anderson', 'Sarah');
INSERT INTO nhanvien
(nhanvien_id, ho, ten)
VALUES
(11, 'Johnson', 'Dale');

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

INSERT INTO nhanvien
(nhanvien_id, ho, ten)
DEFAULT VALUES;

এই INSERT স্টেটমেন্ট টেবিলে ১ রেকর্ড ইনসার্ট করবে। নতুন রেকর্ড কর্মচারী আইডি, উপনাম এবং নাম ইনফরমেশন ফিল্ডের ডিফল্ট ভ্যালু দিয়ে তৈরি হবে।

উদাহরণ - SELECT কমান্ড ব্যবহার

SELECT স্টেটমেন্ট দিয়ে আরও জটিল INSERT স্টেটমেন্ট তৈরি করা যায় নিচের মত।

INSERT INTO danhba
(danhba_id, ho, ten)
SELECT nhanvien_id, ho, ten
FROM nhanvien
WHERE nhanvien_id <= 100;

INSERT কমান্ডে SELECT স্টেটমেন্ট রাখলে দ্রুত একাধিক ইনসার্ট করা যায়।

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

SELECT count(*)
FROM nhanvien
WHERE nhanvien_id <= 100;
  1. SQL Server-এ IF...ELSE স্টেটমেন্ট

  2. SQL Server-এ ALTER TABLE স্টেটমেন্ট

  3. SQL Server-এ INSERT স্টেটমেন্ট

  4. MS SQL Server কী?