ماڈیول اسباق (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 جب آپ ٹیبل بناتے ہیں (ہم اس کا احاطہ کریں گے۔
اگلا ڈی ڈی ایل سبق)۔
آپ کی باری
زمرہ 5 (کمپیوٹر) میں ہر پروڈکٹ کی قیمت میں 10% اضافہ کریں۔ ایک ہی تازہ کاری کا بیان۔
اشارہ دکھائیں۔
SET کے دائیں طرف کا اظہار خود کالم کا حوالہ دے سکتا ہے: قیمت * 1.10۔
3 کوششوں کے بعد حل دستیاب ہے۔
ورزش کا جائزہ لیں۔
3 سے کم درجہ بندی کے ساتھ ہر جائزے کو حذف کریں (بہت منفی جائزے)۔
اشارہ دکھائیں۔
جہاں درجہ بندی < 3۔
3 کوششوں کے بعد حل دستیاب ہے۔