🗄️ شرح SQL وقواعد البيانات

تعديل الجداول: ALTER و DROP

ALTER TABLE

يغيّر بنية جدول موجود دون حذف بياناته.

إضافة عمود

ALTER TABLE users ADD phone VARCHAR(20);

تعديل عمود

-- MySQL
ALTER TABLE users MODIFY phone VARCHAR(30);
-- PostgreSQL
ALTER TABLE users ALTER COLUMN phone TYPE VARCHAR(30);

إعادة تسمية عمود

ALTER TABLE users RENAME COLUMN phone TO mobile;

حذف عمود

ALTER TABLE users DROP COLUMN phone;

DROP TABLE

يحذف الجدول بالكامل (بنيته وبياناته):

DROP TABLE users;
DROP TABLE IF EXISTS users;   -- بلا خطأ إن لم يوجد

TRUNCATE

يحذف كل الصفوف لكن يُبقي الجدول وبنيته (أسرع من DELETE):

TRUNCATE TABLE logs;

الفرق بين DELETE و TRUNCATE و DROP

الأمريحذف الصفوفيحذف الجدوليمكن التراجع
DELETE✅ (مع WHERE)✅ داخل معاملة
TRUNCATE✅ الكل❌ غالبًا
DROP

⚠️ DROP و TRUNCATE خطيرة — لا WHERE فيها. تأكّد قبل التنفيذ على الإنتاج.

🎯 التالي: عمليات المجموعات UNION وأنواع JOIN المتقدّمة.