في هذا الدرس 6تصفّح المواضيع
لتغيير اسم جدول قائم في MySQL 8، نستخدم الأمر المخصص RENAME TABLE old_table TO new_table (أو الصيغة البديلة ALTER TABLE old_table RENAME TO new_table). وعلى عكس نسخ البيانات، تُنفَّذ عملية RENAME TABLE كعملية وصفية ذرية تحدّث المؤشرات في قاموس البيانات لحظياً دون نقل الصفوف الفيزيائية.
-- Rename an existing table atomically in the data dictionary
RENAME TABLE
lessons_catalog TO course_lessons;
SHOW FULL TABLES;
تتمثل الميزة الهندسية الكبرى لأمر RENAME TABLE في قدرته على إعادة تسمية عدة جداول معاً ضمن جملة ذرية واحدة تُنفَّذ بالترتيب من اليسار إلى اليمين. تستثمر الفرق الهندسية هذه الخاصية لتجهيز جدول جديد في الخلفية ثم تبديله مع الجدول الحي في الإنتاج دون أي انقطاع في الخدمة.
-- Prepare a replacement table and swap names atomically
CREATE TABLE products_next LIKE products;
RENAME TABLE
products TO products_old,
products_next TO products;
عند إنشاء جداول الأرشفة أو جداول الاختبار المرحلية التي يجب أن تطابق هيكل جدول أصلي في تعريفات الأعمدة ونظام الترميز وقواعد المقارنة ومحرك التخزين، نستخدم الأمر CREATE TABLE new_table LIKE original_table. يستنسخ هذا الأمر البنية الهندسية الكاملة مع ترك الجدول الجديد فارغاً تماماً بدون أي صفوف.
-- Clone exact column structure and engine options with LIKE
CREATE TABLE IF NOT EXISTS products_archive
LIKE products;
DESCRIBE products_archive;
للحسابات المرحلية وعمليات بناء التقارير متعددة الخطوات، ينشئ الأمر CREATE TEMPORARY TABLE temp_name (...) جدول عمل مؤقتاً يخص جلسة الاتصال الحالية حصرياً. يمكن لجلسات اتصال متزامنة إنشاء جداول مؤقتة تحمل نفس الاسم تماماً دون أي تعارض أو كشف للبيانات بينها، ويقوم محرك MySQL بحذف الجدول المؤقت تلقائياً فور إغلاق الاتصال.
-- Create a session-private temporary table directly or via LIKE
CREATE TEMPORARY TABLE session_price_buffer (
sku CHAR(10),
calculated_tax DECIMAL(10, 2)
);
CREATE TEMPORARY TABLE temp_products_copy LIKE products;
إذا أنشأت جدولاً مؤقتاً TEMPORARY يحمل نفس اسم جدول دائم موجود في نفس قاعدة البيانات، فإن الجدول المؤقت يحجب (يخفي) الجدول الدائم طوال فترة جلستك الحالية. وأي أمر فحص مثل DESCRIBE يُنفَّذ بذلك الاسم داخل جلستك سيتوجه إلى الجدول المؤقت حتى يتم حذفه.
-- Inspect a temporary table definition during an active session
DESCRIBE session_price_buffer;
SHOW CREATE TABLE session_price_buffer;
| عملية SQL | نطاق البقاء | ينسخ البنية الهندسية؟ | ينسخ صفوف البيانات؟ | حالة الاستخدام الهندسي المثلى |
|---|---|---|---|---|
RENAME TABLE a TO b | دائم (في قاموس البيانات) | يحافظ على الجدول القائم | يحتفظ بكافة الصفوف في موضعها | تغيير اسم الجدول أو نقله بين قواعد البيانات |
RENAME TABLE a TO old, b TO a | دائم (تبديل ذري) | يبدّل المخططين لحظياً | يبدّل الجداول ذرياً | تحديث الجداول الحية دون أي توقف في الخدمة |
CREATE TABLE new LIKE orig | دائم (جدول أساسي) | نعم (الأعمدة والترميز والمحرك) | لا (جدول فارغ 0 صفوف) | إنشاء جداول الأرشفة أو الجداول المرحلية الفارغة |
CREATE TEMPORARY TABLE tmp (...) | جلسة الاتصال الحالية فقط | يعرّف هيكلاً خاصاً بالجلسة | يبدأ فارغاً في الجلسة | الحسابات المرحلية المعزولة لكل اتصال |
CREATE TEMPORARY TABLE tmp LIKE orig | جلسة الاتصال الحالية فقط | نعم (يستنسخ الهيكل كاملاً) | لا (جدول فارغ 0 صفوف) | اختبار عمليات الجدول بأمان داخل الجلسة الحالية |
ملخص الدرس: درسنا في هذا الدرس إعادة تسمية الجداول والتبديل الذري بدون توقف عبر RENAME TABLE، واستنساخ الهياكل الهندسية عبر CREATE TABLE ... LIKE، وإنشاء الجداول المؤقتة المعزولة بالجلسة عبر CREATE TEMPORARY TABLE.
الخطوة التالية والدرس القادم: في الدرس القادم سنختتم الوحدة الرابعة بدراسة تفريغ الجداول وحذفها النهائي عبر أوامر TRUNCATE TABLE وDROP TABLE [IF EXISTS].
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
درسنا في هذا الدرس إعادة تسمية الجداول والتبديل الذري بدون توقف عبر RENAME TABLE، واستنساخ الهياكل الهندسية عبر CREATE TABLE ... LIKE، وإنشاء الجداول المؤقتة المعزولة بالجلسة عبر CREATE TEMPORARY TABLE. الخطوة التالية: في الدرس القادم سنختتم الوحدة الرابعة بدراسة تفريغ الجداول وحذفها النهائي عبر أوامر TRUNCATE TABLE وDROP TABLE [IF EXISTS].
سجّل الدخول لحفظ تقدمك
تابع إنجاز المواضيع والمصطلحات والمهام، وكمّل من آخر خطوة على أي جهاز.
المصطلحات4
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 Temporary Tables الجداول المؤقتة
- تعلّم إعادة تسمية الجداول ونسخها والجداول المؤقتة في MySQL بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
- للمراجعة
- 02 Atomic Rename Table Operations إعادة تسمية الجداول ذرياً
- المفهوم الهندسي الأساسي لقسم إعادة تسمية الجداول ذرياً في قواعد بيانات MySQL 8 الحديثة.
- للمراجعة
- 03 Swapping Tables Zero Downtime تبديل الجداول دون توقف الخدمة
- الصياغة القياسية وقواعد التنفيذ العملي لقسم تبديل الجداول دون توقف الخدمة.
- للمراجعة
- 04 Cloning Structure With LIKE نسخ هيكل الجدول عبر LIKE
- آلية التخزين وأفضل ممارسات محرك InnoDB الخاصة بقسم نسخ هيكل الجدول عبر LIKE.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
الاختصارات2
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 MDL MDL
- MySQL Metadata Lock
- قفل البيانات الوصفية الذي يحجزه محرك MySQL أثناء عمليات التسمية والتعديل الهيكلي لضمان التناسق الذري.
- للمراجعة
- 02 TMP TMP
- Session Temporary Tablespace
- مساحة التخزين المؤقتة المعزولة التي يخصصها محرك InnoDB لحفظ الجداول المؤقتة حتى انتهاء جلسة الاتصال.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
مهامك قبل الاختبار
خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.
-
افتح عميل MySQL 8 المحلي ونفّذ استعلام SQL المشروح في قسم إعادة تسمية الجداول ذرياً للتحقق من النتائج.
-
بدّل بين الحالات الثلاث في المحاكي التفاعلي ضمن قسم تبديل الجداول دون توقف الخدمة وقارن مخرجات MySQL 8.
تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.
اختبر فهمك.
ووصلها للإتقان.
كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.
أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.
الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.
لمحة عن التحدي4 أسئلة تنتظرك +
أي أمر في SQL يمكنه تبديل جدولين ذرياً في جملة واحدة دون أي توقف للخدمة؟
اختر الأمر القادر على تنفيذ عدة عمليات تسمية ذرية متتالية.
ماذا ينسخ الأمر CREATE TABLE archive_orders LIKE orders إلى الجدول الجديد؟
فرّق بين استنساخ الهيكل الهندسي ونسخ صفوف البيانات.
متى يقوم محرك MySQL بحذف الجدول المنشأ عبر CREATE TEMPORARY TABLE تلقائياً؟
تذكّر دورة حياة الجداول المؤقتة المرتبطة بالجلسة.
ماذا يحدث إذا أنشأت الجلسة جدولاً مؤقتاً TEMPORARY يحمل نفس اسم جدول دائم موجود؟
حدّد سلوك حجب الأسماء داخل الجلسة النشطة.