الدرس 9 من 10

تعديل البيانات

هدف الدرس

الأوامر INSERT وUPDATE وDELETE

01

الشرح

هناك ثلاث جمل تغيّر البيانات بدل أن تقرأها، فـINSERT INTO يضيف صفوفًا، وUPDATE ... SET يغيّر قيمًا، وDELETE FROM يحذف صفوفًا.

ويعمل UPDATE وDELETE على كل صفّ يطابق WHERE، فإن لم تكتب WHERE شمل التعديل أو الحذف كل الصفوف، فالجملة UPDATE customers SET city = 'الدمام' وحدها تنقل العملاء جميعًا إلى الدمام، ولن تطلب منك تأكيدًا ولا تستطيع التراجع عنها.

والعادة الآمنة أن تجرّب الشرط أولًا مع SELECT *، وتتأكّد أنه يعيد الصفوف المقصودة وحدها، ثم تغيّر أول الجملة إلى UPDATE أو DELETE.

02

المطلوب

أضف العميلة 'نورة' من 'جدة'، وانقل 'خالد' إلى 'الدمام'، واحذف كل طلب قيمة total فيه أقلّ من 50.

الفحوص

5 فحوص
  1. أُضيفت نورة من جدة
  2. خالد صار في الدمام
  3. بقي العملاء الآخرون في مدنهم
  4. لا يوجد طلب أقلّ من 50
  5. الطلبات الأخرى لم تُحذف
الجداول المتاحة في هذا الدرس
CREATE TABLE customers (
  id   INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  city TEXT NOT NULL
);

CREATE TABLE orders (
  id          INTEGER PRIMARY KEY,
  customer_id INTEGER REFERENCES customers(id),
  total       INTEGER NOT NULL,
  placed_on   TEXT    NOT NULL
);

INSERT INTO customers (id, name, city) VALUES
  (1, 'ليان', 'الرياض'),
  (2, 'خالد', 'جدة'),
  (3, 'ريم',  'الدمام'),
  (4, 'فهد',  'الرياض');

INSERT INTO orders (customer_id, total, placed_on) VALUES
  (1, 120, '2026-09-01'),
  (1,  80, '2026-09-12'),
  (2, 300, '2026-09-03'),
  (3,  45, '2026-09-20'),
  (2,  60, '2026-09-25');
query.sql
المخرجاتSQLite (sql.js)

نحمّل بيئة SQLite الآن.

–/5

يبدأ الفحص حين تجهز البيئة.

تجد 5 فحوص في بطاقة «المطلوب».