মডিউল পাঠ (2/4)
আপডেট করা এবং মুছে ফেলা: আপডেট এবং মুছে ফেলুন
UPDATE বিদ্যমান সারিগুলিকে সংশোধন করে; DELETE তাদের সরিয়ে দেয়। উভয় ভাগ
একই, মৌলিক, সুবর্ণ নিয়ম: WHERE ধারা সিদ্ধান্ত নেয় কোন সারি
স্পর্শ করতে এটি ভুলে যাওয়া মানে পুরো টেবিল পরিবর্তন/মুছে ফেলা।
আপডেট করুন
UPDATE tabella
SET colonna1 = nuovo_valore,
colonna2 = altra_espressione
WHERE condizione;উদাহরণ:
-- Aumenta del 10% i prezzi di tutti i prodotti della categoria 5 (Computer):
UPDATE products
SET price = price * 1.10
WHERE category_id = 5;
-- Aggiorna due colonne contemporaneamente:
UPDATE orders
SET status = 'shipped',
shipped_at = NOW()
WHERE id = 12;SET col = espressione: অভিব্যক্তিটি সারির বর্তমানকে উল্লেখ করতে পারে
মান (price * 1.10), এবং ব্যবহার করতে পারে NOW(), NULL, অথবা
সাব-কোয়েরি
মুছুন
DELETE FROM tabella
WHERE condizione;উদাহরণ:
-- Cancella tutte le recensioni con rating < 3:
DELETE FROM reviews
WHERE rating < 3;
-- Cancella un ordine specifico:
DELETE FROM orders WHERE id = 999;এখানেও ফিরছি
যেমন INSERT, UPDATE এবং DELETE এছাড়াও RETURNING গ্রহণ করে যাতে আপনি জানেন
তারা কি কাজ করেছে:
DELETE FROM reviews
WHERE rating < 3
RETURNING id, customer_id, rating;মুছে ফেলা/সংশোধন করা এক শটে লগ ইন করার জন্য দরকারী।
বিদেশী কী এবং মুছে ফেলা
একটি বিদেশী কী মাধ্যমে অন্য টেবিল দ্বারা উল্লেখ করা একটি সারি মুছে ফেলার চেষ্টা করা হচ্ছে একটি ত্রুটি তৈরি করে:
DELETE FROM customers WHERE id = 1;
-- ERROR: update or delete on table "customers" violates foreign key constraint
-- on table "orders"সমাধান: প্রথমে চাইল্ড সারি মুছে দিন, অথবা FK এর সাথে সংজ্ঞায়িত করুন
ON DELETE CASCADE যখন আপনি টেবিল তৈরি করবেন (আমরা এটিকে কভার করব
পরবর্তী DDL পাঠ)।
তোমার পালা
ক্যাটাগরি 5 (কম্পিউটার) এর প্রতিটি পণ্যের মূল্য 10% বৃদ্ধি করুন। একটি একক আপডেট বিবৃতি।
ইঙ্গিত দেখান
SET-এর ডানদিকের অভিব্যক্তিটি কলামকেই উল্লেখ করতে পারে: মূল্য * 1.10।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
ব্যায়াম পর্যালোচনা করুন
3 এর কম রেটিং সহ প্রতিটি পর্যালোচনা মুছুন (খুব নেতিবাচক পর্যালোচনা)।
ইঙ্গিত দেখান
যেখানে রেটিং < 3।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ