ماڈیول اسباق (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 کالم
کسی چیز کو نہیں توڑتا) اور خود دستاویزی کرنا۔
کثیر قطار INSERT
ایک بیان، متعدد قطاریں — 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برائے ID) → جو استعمال کیا جاتا ہے؛ - اگر یہ قبول کرتا ہے
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'، شہر 'Verona'، ملک 'Italia' اور دستخط شدہ_up_on '2025-07-15' کے ساتھ ایک نیا گاہک داخل کریں۔ تمام کالموں کو واضح طور پر نام دیں۔
اشارہ دکھائیں۔
VALUES میں اقدار کی ترتیب آپ کے نام کردہ کالموں کی ترتیب سے مماثل ہونی چاہیے۔
3 کوششوں کے بعد حل دستیاب ہے۔
ورزش کا جائزہ لیں۔
'Elettronica' (id = 1) کے بچے کے طور پر ایک نیا 'گیمنگ' زمرہ داخل کریں۔ نئے بنائے گئے زمرے کی شناخت اور نام واپس کرنے کے لیے واپسی کی شق کا استعمال کریں۔
اشارہ دکھائیں۔
واپسی کالموں کی فہرست (یا '*') کو بالکل SELECT کی طرح قبول کرتی ہے۔
3 کوششوں کے بعد حل دستیاب ہے۔