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 المتقدّمة.