الرئيسية › الدروس › استعلامات SQL بسيطة
استعلامات SQL: SELECT وWHERE وORDER BY وUPDATE وDELETE
اسأل table: اختار الأعمدة، صفّي الأسطر بـ WHERE، رتّبهم، وبعد بدّل وفسّخ أسطر بـ UPDATE و DELETE.
دروس هذا الفصل
- نختارو أعمدة وأسطر
- نرتّبو ونصفّيو خير
- نبدّلو ونفسّخو أسطر
الدرس 28.1 : نختارو أعمدة وأسطر
الـ requête SELECT تقرا table من غير ما تبدّلها. بعد SELECT نكتبو الأعمدة اللي نحبّوها؛ بعد FROM، الـ table؛ وبعد WHERE، الشرط اللي لازم الأسطر يحقّقوه.
SELECT * FROM eleve;
SELECT nom, prenom FROM eleve WHERE ville = 'Sfax';
*معناها الأعمدة الكل.- المقارنات:
=،<>(مختلف)،<،>،<=،>=. النص يتقارن بين apostrophes:ville = 'Sfax'. - الشروط تتجمّع بـ
AND(الزوز)،OR(واحد منهم) وNOT. الأقواس يحدّدو الترتيب:(ville = 'Sfax' OR ville = 'Sousse') AND moyenne >= 10.
نحسبو ونسمّيو عمود
SELECT prenom, moyenne + 1 AS moyenne_bonus FROM eleve;
نصيحة : AS تعطي اسم للعمود متاع النتيجة. من غير AS، MySQL يسمّيه كيما كتبتو: moyenne + 1.
انتبه : فاصلة منسية بين زوز أعمدة ما تعطيش غلطة: SELECT nom prenom يورّي عمود واحد برك، nom، بالاسم prenom.
بـ SQL
الـ table eleve تتصنع في أوّل السكريبت. بدّل الشرط متاع الـ WHERE: التلامذة متاع سوسة، وبعد اللي عندهم أكثر من 12.
CREATE TABLE eleve (
id INT PRIMARY KEY,
nom VARCHAR(30) NOT NULL,
prenom VARCHAR(30) NOT NULL,
ville VARCHAR(20),
moyenne DECIMAL(4,2)
);
INSERT INTO eleve VALUES
(1, 'Ben Salah', 'Amine', 'Sfax', 12.50),
(2, 'Trabelsi', 'Sarra', 'Tunis', 16.25),
(3, 'Jaziri', 'Yassine', 'Sfax', 9.75),
(4, 'Mansour', 'Rim', 'Sousse', 14.00),
(5, 'Bouzid', 'Hedi', NULL, 11.00);
SELECT nom, prenom, moyenne FROM eleve WHERE ville = 'Sfax';
الدرس 28.2 : نرتّبو ونصفّيو خير
الترتيب: ORDER BY
SELECT prenom, moyenne FROM eleve ORDER BY moyenne DESC, prenom;
ORDER BY يرتّب النتيجة: ASC من الأصغر للأكبر (بالـ défaut)، DESC من الأكبر للأصغر. بعد فاصلة، عمود ثاني يفرّق بين المتساويين. من غير ORDER BY، MySQL ما يوعدش بـ حتى ترتيب.
شروط أغنى
moyenne BETWEEN 10 AND 14: بين 10 و 14، الحدود محسوبة.ville IN ('Sfax', 'Sousse'): وحدة من القيم اللي في القائمة.nom LIKE 'B%': يبدا بـ B.%تعوّض أي سلسلة حروف، و_حرف واحد:'%a%'فيه a.ville IS NULL: المدينة فارغة. عمرك ما تكتبville = NULL، اللي ما يلقى حتى شي.
SELECT DISTINCT ville FROM eleve;
SELECT prenom FROM eleve ORDER BY moyenne DESC LIMIT 3;
نصيحة : DISTINCT تنحّي الأسطر المكرّرة من النتيجة. LIMIT 3 تخلّي أوّل 3 أسطر: مع ORDER BY ... DESC، هوما أحسن 3.
بـ SQL
جرّب كل شرط: عوّض الـ WHERE بـ moyenne BETWEEN 10 AND 14، وبعد nom LIKE 'B%'، وبعد ville IS NULL.
CREATE TABLE eleve (
id INT PRIMARY KEY,
nom VARCHAR(30) NOT NULL,
prenom VARCHAR(30) NOT NULL,
ville VARCHAR(20),
moyenne DECIMAL(4,2)
);
INSERT INTO eleve VALUES
(1, 'Ben Salah', 'Amine', 'Sfax', 12.50),
(2, 'Trabelsi', 'Sarra', 'Tunis', 16.25),
(3, 'Jaziri', 'Yassine', 'Sfax', 9.75),
(4, 'Mansour', 'Rim', 'Sousse', 14.00),
(5, 'Bouzid', 'Hedi', NULL, 11.00);
SELECT nom, prenom, ville FROM eleve WHERE ville IN ('Sfax', 'Sousse') ORDER BY nom;
الدرس 28.3 : نبدّلو ونفسّخو أسطر
التبديل: UPDATE
UPDATE eleve SET ville = 'Gabès' WHERE id = 5;
UPDATE eleve SET moyenne = moyenne + 0.5 WHERE ville = 'Sfax';
UPDATE يبدّل قيم: بعد SET، الأعمدة والقيم الجديدة متاعهم (مفرّقين بفاصلات)؛ بعد WHERE، الأسطر المعنية. القيمة الجديدة تنجم تتحسب بالقديمة: moyenne + 0.5.
الفسخ: DELETE
DELETE FROM eleve WHERE moyenne < 10;
انتبه : من غير WHERE، UPDATE يبدّل الأسطر الكل و DELETE يفسخهم الكل. قبل ما تخدّم، اقرا الشرط متاعك بـ SELECT: يورّيك الأسطر اللي باش يتمسّو.
بـ SQL
خدّم: الـ SELECT الأخير يورّي التبديلات. وبعد فسّخ التلامذة اللي ما عندهمش مدينة بـ DELETE تحطّو قبل الـ SELECT.
CREATE TABLE eleve (
id INT PRIMARY KEY,
nom VARCHAR(30) NOT NULL,
prenom VARCHAR(30) NOT NULL,
ville VARCHAR(20),
moyenne DECIMAL(4,2)
);
INSERT INTO eleve VALUES
(1, 'Ben Salah', 'Amine', 'Sfax', 12.50),
(2, 'Trabelsi', 'Sarra', 'Tunis', 16.25),
(3, 'Jaziri', 'Yassine', 'Sfax', 9.75),
(4, 'Mansour', 'Rim', 'Sousse', 14.00),
(5, 'Bouzid', 'Hedi', NULL, 11.00);
UPDATE eleve SET moyenne = moyenne + 0.5 WHERE ville = 'Sfax';
SELECT * FROM eleve;
تدرّب مجانًا
كل درس فيه 3 تمارين مجانية مع تلميحات باش تطبّق الفصل هذا مع هنّيبوت.
← الفصل اللي قبل : قواعد البيانات: نصنعو الـ tables · الفصل اللي بعد : SQL: الربط، التجميع والاستعلامات الفرعية →
كل الفصول · شوف فروض 2 تكنولوجيا المصلّحة
الدروس كتبناها لـ Mission Carthage على أساس البرنامج الرسمي. الأستاذ متاعك يبقى المرجع.