ورقة الغش SQL مع الأوامر & Descriptايون (2026)

⚡ ملخص ذكي

تجمع هذه الورقة المختصرة لأوامر SQL الأوامر التي يستخدمها مطور البرامج يوميًا، مرتبة حسب المهمة. يُرفق كل قسم الصيغة الدقيقة بوصف مبسط، ويغطي إنشاء قواعد البيانات، وأنواع البيانات، والاستعلام، والتصفية، والربط، والفهرسة.

  • 🗄️ أوامر البنية: CREATE DATABASE, CREATE TABLE, ALTER, RENAME and DROP تُعرّف وتُعيد تشكيل المخطط.
  • 🔢 أنواع البيانات: تحدد أنواع البيانات الرقمية والنصية والتاريخية والثنائية حجم التخزين والنطاق الصالح لكل عمود.
  • 🔎 أوامر الاسترجاع: يؤدي استخدام SELECT مع WHERE و IN و LIKE و REGEXP إلى تضييق نطاق مجموعة النتائج لتقتصر على الصفوف المهمة.
  • ✍️ أوامر التعديل: تقوم عمليات INSERT وUPDATE وDELETE بتغيير الصفوف المخزنة، ويقبل كل منها شرطًا اختياريًا.
  • 📊 أوامر التجميع: استخدم دالة GROUP BY مع دوال COUNT وMIN وMAX وSUM و AVG يلخص البيانات، ويقوم HAVING بتصفية المجموعات.
  • 🔗 أوامر مركبة: تقوم عملية JOIN بدمج الجداول جنبًا إلى جنب، بينما تقوم عملية UNION بتجميع نتائج استعلامين.

ورقة الغش SQL

إنشاء قاعدة البيانات وأوامر الجدول

تبدأ كل جلسة SQL بقاعدة بيانات وجدول واحد على الأقل لتخزين الصفوف.

أمر الوصف
CREATE DATABASE database1; إنشاء قاعدة البيانات
CREATE DATABASE IF NOT EXISTS database1; تتيح لك عبارة "إذا لم يكن موجودًا" توجيه التعليمات MySQL يقوم الخادم بالتحقق من وجود قاعدة بيانات تحمل اسمًا مشابهًا قبل إنشاء قاعدة البيانات.
CREATE DATABASE IF NOT EXISTS database1 CHARACTER SET latin1 COLLATE latin1_swedish_ci; تستخدم مجموعة الأحرف latin1 ترتيب latin1_swedish_ci، وهو الترتيب السويدي غير الحساس لحالة الأحرف.
SHOW DATABASES; يمكنك الاطلاع على قائمة قواعد البيانات الموجودة عن طريق تشغيل أمر SQL هذا.
CREATE TABLE [IF NOT EXISTS] TableName (fieldname dataType [optional parameters]) ENGINE = storage Engine; إنشاء بناء جملة الجدول

ورقة الغش لأنواع بيانات SQL

يحدد نوع بيانات العمود ما يمكنه تخزينه ومقدار المساحة التي يستهلكها كل صف.

أنواع البيانات الرقمية

أمر الوصف
TINYINT( ) من -128 إلى 127 عادي، من 0 إلى 255 بدون إشارة.
SMALLINT( ) -32768 إلى 32767 عادي
0 إلى 65535 غير موقعة.
MEDIUMINT( ) -8388608 إلى 8388607 عادي
0 إلى 16777215 غير موقعة.
INT( ) -2147483648 إلى 2147483647 عادي
0 إلى 4294967295 غير موقعة.
BIGINT( ) -9223372036854775808 إلى 9223372036854775807 عادي
0 إلى 18446744073709551615 غير موقعة.
FLOAT رقم تقريبي صغير بفاصلة عشرية عائمة.
DOUBLE( , ) عدد تقريبي كبير مع فاصلة عشرية عائمة.
DECIMAL( , ) عدد صحيح ذو فاصلة ثابتة. الخيار المفضل لتخزين قيم العملات.

أنواع البيانات النصية

أمر الوصف
CHAR( ) قسم ذو طول ثابت يتراوح طوله من 0 إلى 255 حرفًا.
VARCHAR( ) قسم ذو طول متغير يتراوح طوله من 0 إلى 65535 حرفًا.
TINYTEXT سلسلة يبلغ الحد الأقصى لطولها 255 حرفًا.
TEXT سلسلة يبلغ الحد الأقصى لطولها 65535 حرفًا.
BLOB بيانات ثنائية بطول أقصى يبلغ 65535 بايت.
MEDIUMTEXT سلسلة يبلغ الحد الأقصى لطولها 16777215 حرفًا.
MEDIUMBLOB بيانات ثنائية بطول أقصى يبلغ 16777215 بايت.
LONGTEXT سلسلة يبلغ الحد الأقصى لطولها 4294967295 حرفًا.
LONGBLOB بيانات ثنائية بطول أقصى يبلغ 4294967295 بايت.

أنواع بيانات التاريخ/الوقت

أمر الوصف
DATE YYYY-MM-DD
DATETIME YYYY-MM-DD HH: MM: SS
TIMESTAMP YYYY-MM-DD HH:MM:SS، مخزنة بتوقيت UTC ومحولة إلى المنطقة الزمنية للجلسة.
TIME HH: MM: SS

أنواع البيانات الأخرى

أمر الوصف
ENUM لتخزين قيمة نصية واحدة يتم اختيارها من قائمة قيم نصية محددة مسبقًا.
SET يُستخدم هذا أيضًا لتخزين القيم النصية المختارة من قائمة قيم نصية محددة مسبقًا. ويمكنه استيعاب قيم متعددة.
BOOL مرادف لـ TINYINT(1)، ويستخدم لتخزين القيم المنطقية.
BINARY يشبه CHAR؛ الفرق هو أن النص يتم تخزينه بتنسيق ثنائي.
VARBINARY يشبه VARCHAR؛ الفرق هو أن النص يتم تخزينه بتنسيق ثنائي.

أمر بيان SQL SELECT

يُستخدم الأمر SELECT لقراءة الصفوف من جدول.

أمر الوصف
SELECT * FROM table1; حدد كل عمود من الجدول
SELECT t1, t2, t3, t4 FROM table1; نحن مهتمون فقط بالحصول على الحقول t1 و t2 و t3 و t4.
SELECT CONCAT(t1, ' (', t3, ')'), t4 FROM table2; دمج قيم الأعمدة في عمود إخراج واحد
SELECT column_name | value | expression [AS] alias_name; بناء جملة أسماء الحقول المستعارة

جملة SQL WHERE مع أوامر AND وOR وIN وليس IN

تقوم عبارة WHERE بتصفية الصفوف، ويمكن دمج العوامل المذكورة أدناه داخلها.

أمر الوصف
SELECT * FROM tableName WHERE condition; صيغة جملة WHERE
SELECT * FROM table1 WHERE t1 = 2 AND t2 = 2008; جملة WHERE مع عامل الربط المنطقي AND
SELECT * FROM table1 WHERE t1 = 1 OR t1 = 2; جملة WHERE مقترنة بعامل التشغيل المنطقي OR
SELECT * FROM table2 WHERE t1 IN (1,2,3); شرط WHERE مع الكلمة المفتاحية IN
SELECT * FROM table2 WHERE t1 NOT IN (1,2,3); شرط WHERE مع الكلمة المفتاحية NOT IN
SELECT * FROM table2 WHERE t3 = 'Female'; شرط WHERE مع عامل المقارنة يساوي (=)
SELECT * FROM table3 WHERE t3 > 2000; شرط WHERE مع عامل المقارنة أكبر من (>)
SELECT * FROM table1 WHERE t1 <> 1; شرط WHERE مقترنًا بمعامل المقارنة "لا يساوي" (<>)

أمر SQL إدراج في الجدول

أمر الوصف
INSERT INTO table_name(column_1, column_2, ...) VALUES (value_1, value_2, ...); الصيغة الأساسية لأمر SQL INSERT
INSERT INTO table1 (t1,t2,t3,t4) VALUES (X1,X2,X3,X4); أدخل البيانات في جدول
INSERT INTO table_1 SELECT * FROM table_2; إدراج البيانات في جدول من جدول آخر

أمر حذف SQL

أمر الوصف
DELETE FROM table_name [WHERE condition]; حذف صف في MySQL

أمر تحديث SQL

أمر الوصف
UPDATE table_name SET column_name = new_value [WHERE condition]; صيغة أمر التحديث

ORDER BY في SQL: الأمر DESC & ASC

أمر الوصف
SELECT statement... [WHERE condition | GROUP BY field_name(s) HAVING condition] ORDER BY field_name(s) [ASC | DESC]; الصيغة الأساسية لعبارة ORDER BY
SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC | DESC [LIMIT N]; بناء جملة DESC وASC

SQL GROUP BY وأمر HAVING Clause

GROUP BY يقوم بدمج الصفوف في مجموعات، ويقوم HAVING بتصفية تلك المجموعات بعد تشكيلها.

مجموعة من

أمر الوصف
SELECT statements... GROUP BY column_name1[, column_name2, ...] [HAVING condition]; صيغة GROUP BY

الحبوping والوظائف التجميعية

أمر الوصف
SELECT t2, COUNT(t1) FROM table1 GROUP BY t2; لنفترض أننا نريد العدد الإجمالي لقيم أعمدة t2 في قاعدة البيانات الخاصة بنا.

شرط وجود

أمر الوصف
SELECT * FROM table2 GROUP BY t1_id, t4 HAVING t1_id = x1; يُرجع جميع قيم t4 لصفوف الجدول 2 التي يكون فيها t1_id هو x1.

أوامر SQL Wildcards لـ Like، NOT Like، Escape، ( % )، ( _ )

تتيح الأحرف البديلة لـ LIKE مطابقة السلاسل الجزئية.

% هو أمر البدل النسبي في MySQL

أمر الوصف
SELECT statements... WHERE fieldname LIKE 'xxx%'; الصيغة الأساسية لرمز النسبة المئوية (%)، الذي يطابق أي عدد من الأحرف

_ أمر البدل

أمر الوصف
SELECT * FROM table1 WHERE t3 LIKE 'x2_'; الشرطة السفلية تطابق حرفًا واحدًا بالضبط.

ليس مثل أمر البدل

أمر الوصف
SELECT * FROM table1 WHERE t3 NOT LIKE 'x2_'; لنفترض أننا نريد صفوف الجدول 1 التي لا تتطابق قيمة t3 الخاصة بها مع النمط.

الهروب من أمر البدل للكلمات الرئيسية

أمر الوصف
LIKE '67#%' ESCAPE '#'; يتحقق من السلسلة الحرفية "67%"، لأن # يهرب من الحرف البديل.

تعبيرات SQL العادية (REGEXP)

أمر الوصف
SELECT statements... WHERE fieldname REGEXP 'pattern'; الصيغة الأساسية لمطابقة التعبير النمطي

التعبير النمطي أحرف

أمر الوصف
* يتطابق الحرف الخاص (*) مع صفر أو أكثر من حالات السلسلة التي تسبقه.
+ يتطابق الحرف الإضافي (+) مع واحد أو أكثر من حالات السلسلة التي تسبقه.
? يتطابق الحرف الخاص علامة الاستفهام (?) مع صفر أو واحد من السلسلة التي تسبقه.
. تُطابق النقطة (.) أي حرف واحد باستثناء سطر جديد.
[abc] تتطابق قائمة الأحرف [abc] مع أي من الأحرف المرفقة.
[^abc] قائمة الأحرف [^abc] تطابق أي حرف باستثناء الأحرف المضمنة.
[A-Z] يتطابق نطاق [AZ] مع أي حرف كبير.
[a-z] يتطابق نطاق [az] مع أي حرف صغير.
[0-9] يتطابق النطاق [0-9] مع أي رقم من 0 إلى 9.
^ يشير الرمز (^) إلى بداية المباراة.
| يفصل الخط العمودي (|) البدائل.
[[:<:]] يتطابق رمز [[:<:]] مع بداية الكلمات.
[[:>:]] يتطابق رمز [[:>:]] مع نهاية الكلمات.
[:class:] يطابق المؤشر [:class:] فئة الأحرف، على سبيل المثال [:alpha:] للأحرف، و[:space:] للمسافات البيضاء، و[:punct:] لعلامات الترقيم، و[:upper:] للأحرف الكبيرة.

أوامر وظائف SQL

وظائف سلسلة

أمر الوصف
SELECT t1_id, t2, UCASE(t2) FROM table1; تأخذ دالة UCASE سلسلة نصية كمعامل وتقوم بتحويل جميع الأحرف إلى أحرف كبيرة.

وظائف رقمية

أمر الوصف مثال
DIV تقسيم صحيح SELECT 23 DIV 6;
/ تقسيم SELECT 23 / 6;
- فرعيةtracالإنتاج SELECT 23 - 6;
+ إضافة SELECT 23 + 6;
* تضاعف SELECT 23 * 6 AS multiplication_result;
% or MOD معام SELECT 23 % 6; or SELECT 23 MOD 6;
FLOOR يزيل الأرقام العشرية من العدد ويقربه إلى أقرب عدد صحيح. SELECT FLOOR(23 / 6) AS floor_result;
ROUND قم بتقريب عدد يحتوي على منازل عشرية إلى أقرب عدد صحيح. SELECT ROUND(23 / 6) AS round_result;

الوظائف المخزنة

أمر الوصف
CREATE FUNCTION sf_name ([parameter(s)]) إلزامي. يخبر MySQL يقوم الخادم بإنشاء دالة باسم sf_name مع تحديد المعلمات الاختيارية بين قوسين.
RETURNS data type إلزامي. يحدد نوع البيانات التي تُرجعها الدالة.
DETERMINISTIC تُعيد الدالة نفس القيمة كلما تم تزويدها بنفس الوسائط.
STATEMENTS الكود الإجرائي الذي تنفذه الوظيفة.

أوامر دالة SQL المجمعة

أمر الوصف
SELECT COUNT(t1_id) FROM table1 WHERE t1_id = 2; وظيفة العد
SELECT MIN(t3) FROM table2; وظيفة مين
SELECT MAX(t3) FROM table2; وظيفة ماكس
SELECT SUM(t4) FROM table3; مجموع وظيفة
SELECT AVG(t4) FROM table3; AVG وظيفة

SQL هي أوامر فارغة وليست فارغة

A اغية هي قيمة غائبة، لذلك يجب اختبارها باستخدام IS NULL بدلاً من عامل المساواة.

أمر الوصف
SELECT COUNT(t3) FROM table1; تتجاهل دالة COUNT القيم الفارغة (NULL) في العمود.
CREATE TABLE table2(
t1_number int NOT NULL,
t2_names varchar(255),
t3 varchar(6)
);
يمنع الشرط NOT NULL القيم الفارغة في العمود.
column_name IS NULL
column_name IS NOT NULL
بناء الجملة الأساسي للكلمات المفتاحية NULL
SELECT * FROM table1 WHERE t2_number IS NULL; مثال على IS NULL
SELECT * FROM table1 WHERE t2_number IS NOT NULL; مثال على ليست فارغة

أوامر SQL AUTO_INCREMENT

أمر الوصف
CREATE TABLE table1 (
t1_id int(11) AUTO_INCREMENT,
t2_name varchar(150) DEFAULT NULL,
t3 varchar(500) DEFAULT NULL,
PRIMARY KEY (t1_id)
);
بناء جملة الزيادة التلقائية

SQL - تغيير، إسقاط، إعادة تسمية، تعديل

تُغير هذه الأوامر جدولاً يحتوي بالفعل على بيانات.

أمر الوصف
ALTER TABLE table_name ADD COLUMN column_name data_type; صيغة ALTER
DROP TABLE sample_table; إسقاط بناء جملة الجدول
RENAME TABLE current_table_name TO new_table_name; صيغة أمر إعادة التسمية
ALTER TABLE table1 CHANGE COLUMN t1_names t1name char(250) NOT NULL; تغيير الكلمة المفتاحية
ALTER TABLE table1 MODIFY t1name char(50) NOT NULL; الكلمة المفتاحية MODIFY
ALTER TABLE table1 ADD t4 date NULL AFTER t3; بعد الكلمة المفتاحية

حد SQL والإزاحة

أمر الوصف
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N; LIMIT بناء جملة الكلمة الرئيسية
SELECT * FROM table1 LIMIT 1, 2; الإزاحة في استعلام LIMIT: تخطي صف واحد، ثم إرجاع صفين.

أوامر الاستعلامات الفرعية في SQL

أمر الوصف
SELECT t1_name FROM table1 WHERE
category_id = (SELECT MIN(t1_id) FROM table2);
الاستعلامات الفرعية

أوامر SQL ينضم

تنضم دمج الأعمدة من جدولين في مجموعة نتائج واحدة.

أمر الوصف
SELECT * FROM table1 CROSS JOIN table2; تقاطع الانضمام
SELECT table1.t1, table1.t2, table2.t1
FROM table1, table2
WHERE table2.id = table1.table2_id;
INNER JOIN
SELECT A.t1, B.t2, B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
ON B.table2_id = A.id;
LEFT JOIN
SELECT A.t1, A.t2, B.t3
FROM table1 AS A
RIGHT JOIN table2 AS B
ON B.id = A.table2_id;
الانضمام الصحيح
SELECT A.t1, B.t2, B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
USING (table2_id);
جملتي "ON" و"USING".

أوامر SQL UNION

تقوم عملية UNION بتجميع صفوف استعلامين، بينما تقوم عملية JOIN بتوسيعها إلى أعمدة أكثر.

أمر الوصف
SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2;
صيغة UNION. يتم حذف الصفوف المكررة.
SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2;
يحتفظ الأمر UNION ALL بالصفوف المكررة.

SQL في أوامر طرق العرض

المشاهدات قم بتخزين الاستعلام تحت اسم بحيث يمكن إعادة استخدامه مثل الجدول.

أمر الوصف
CREATE VIEW view_name AS SELECT statement; بناء جملة المشاهدات
DROP VIEW general_v_movie_rentals; قطرةping المشاهدات

أوامر فهرس SQL

الفهرس هو بنية بحث تجعل عمليات البحث في عمود ما أسرع بكثير.

أمر الوصف
CREATE INDEX id_index ON table_name(column_name); إضافة بناء جملة الفهرس الأساسي
DROP INDEX index_id ON table_name; إسقاط بناء الجملة الأساسي للفهرس

الأسئلة الشائعة

لا. تعمل الكلمات المفتاحية مثل SELECT و WHERE في جميع الأحوال. استخدام الأحرف الكبيرة هو اصطلاح لفصل الأوامر عن المعرّفات. مع ذلك، قد تكون أسماء الجداول حساسة لحالة الأحرف في نظام لينكس.

يحذف الأمر DELETE الصفوف المحددة ويمكن التراجع عنه. أما الأمر TRUNCATE فيفرغ الجدول بأكمله بسرعة ويعيد ضبط خاصية الترقيم التلقائي (AUTO_INCREMENT). بينما يحذف الأمر DROP تعريف الجدول نفسه.

يتم تنفيذ FROM و JOIN أولاً، ثم WHERE و GROUP BY و HAVING و SELECT و ORDER BY وأخيراً LIMIT. لهذا السبب لا يمكن استخدام اسم مستعار لعمود مُعرَّف في SELECT داخل WHERE.

نعم. يقوم مساعدو تحويل النصوص إلى استعلامات SQL بترجمة السؤال إلى استعلام باستخدام مخطط الجدول. احرص دائمًا على قراءة شروط WHERE وJOIN المُولَّدة، لأن الاستعلام الصحيح قد يُرجع صفوفًا خاطئة.

نعم. Revيتطلب عرض مخرجات الذكاء الاصطناعي، وضبط الاستعلامات البطيئة، وقراءة خطة التنفيذ، إتقانًا تامًا للأوامر. تُسهّل ورقة المرجع عملية الاسترجاع، لكنها لا تُغني عن الفهم.

تلخيص هذه التدوينة بـ: