মডিউল পাঠ (1/4)
তথ্য সন্নিবেশ করা হচ্ছে: INSERT
এখন পর্যন্ত আপনি ডেটা পড়ছেন। কিছু লেখার সময় এসেছে। INSERT হল৷
কমান্ড যা একটি টেবিলে নতুন সারি যোগ করে।
মৌলিক সিনট্যাক্স
INSERT INTO tabella (col1, col2, …)
VALUES (val1, val2, …);আমাদের ডেটাসেটের উদাহরণ:
INSERT INTO customers (first_name, last_name, email, city, country, signed_up_on)
VALUES ('Marco', 'Bianchi', 'marco.bianchi@example.com', 'Verona', 'Italia', '2025-07-15');কলামের নামকরণ প্রস্তাবিত অনুশীলন: এটি কোয়েরি তৈরি করে
ভবিষ্যতের স্কিমা পরিবর্তনের বিরুদ্ধে শক্তিশালী (যেমন একটি নতুন ঐচ্ছিক phone কলাম
কিছু ভঙ্গ করে না) এবং স্ব-ডকুমেন্টিং।
বহু-সারি ঢোকান
একটি একক বিবৃতি, একাধিক সারি — N পৃথক INSERTs এর চেয়ে অনেক দ্রুত:
INSERT INTO categories (name, parent_id) VALUES
('Gaming', 1),
('Smart Home', 1),
('Cucina vegana', 8);প্রত্যাবর্তন: আপনি এইমাত্র সন্নিবেশিত মান পড়া
PostgreSQL এর একটি ক্লজ বৈশিষ্ট্য: RETURNING সারিগুলি প্রদান করে যা
শুধু তৈরি করা হয়েছে। স্বয়ংক্রিয়ভাবে তৈরি id পুনরুদ্ধার করার জন্য অত্যন্ত সহজ:
INSERT INTO categories (name, parent_id)
VALUES ('Gaming', 1)
RETURNING id, name;আউটপুট হল id সহ একটি এক-সারি টেবিল (SERIAL দ্বারা নির্ধারিত) এবং
name
একটি কলাম অনুপস্থিত হলে কি হবে
আপনি যদি INSERT এ একটি কলাম বাদ দেন:
- যদি এটি হয়
NOT NULLএকটি ডিফল্ট ছাড়া → ত্রুটি; - যদি এটিতে একটি
DEFAULTথাকে (আইডির জন্যSERIALসহ) → এটি ব্যবহার করা হয়; - যদি এটি গ্রহণ করে
NULL→ এটিNULLহয়ে যায়।
-- Va bene: id è SERIAL (auto), country ha NOT NULL ma forniamo tutti i campi
INSERT INTO customers (first_name, last_name, email, city, country, signed_up_on)
VALUES ('Olivia', 'Marini', 'olivia.marini@example.com', 'Bari', 'Italia', '2025-07-20');
-- Errore: first_name è NOT NULL e non è fornito
INSERT INTO customers (last_name, email, city, country, signed_up_on)
VALUES ('Marini', 'olivia.marini@example.com', 'Bari', 'Italia', '2025-07-20');তোমার পালা
গ্রাহকদের টেবিলে প্রথম_নাম 'মার্কো', শেষ_নাম 'বিয়ানচি', ইমেল 'marco.bianchi@example.com', শহর 'ভেরোনা', দেশ 'ইতালিয়া' এবং '2025-07-15'-এ স্বাক্ষরিত_আপ_এর সাথে একটি নতুন গ্রাহক প্রবেশ করান। স্পষ্টভাবে সমস্ত কলামের নাম দিন।
ইঙ্গিত দেখান
VALUES-এর মানগুলির ক্রম আপনার নাম দেওয়া কলামগুলির ক্রমগুলির সাথে অবশ্যই মিলবে৷
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
ব্যায়াম পর্যালোচনা করুন
'Elettronica' (id = 1) এর সন্তান হিসাবে একটি নতুন 'গেমিং' বিভাগ সন্নিবেশ করান। সদ্য তৈরি করা বিভাগের আইডি এবং নাম ফেরত দিতে রিটার্নিং ক্লজ ব্যবহার করুন।
ইঙ্গিত দেখান
রিটার্নিং একটি সিলেক্টের মতো কলামের একটি তালিকা (বা '*') গ্রহণ করে।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ