"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > MySQL كيفية تكرار جدول – نصائح سريعة

MySQL كيفية تكرار جدول – نصائح سريعة

تم النشر بتاريخ 2024-08-23
تصفح:515

لقد اضطررت مؤخرًا إلى التعامل مع بعض القيود المفروضة على مزود قاعدة البيانات الخاص بي والذي لا يدعم إعادة تسمية الجدول. لذلك اضطررت إلى تكرار الجدول يدويًا.

تتم استضافة قاعدة البيانات الخاصة بمنصة SaaS الخاصة بي على Planetscale. توفر الشركة قاعدة بيانات بدون خادم متوافقة مع MySQL. بفضل طبيعتها التي لا تحتوي على خادم، يمكنك الحصول على قوة التقسيم الأفقي وتغييرات المخطط غير المحظورة والعديد من ميزات قاعدة البيانات القوية دون عناء تنفيذها. وتجربة مطور رائعة.

من منظور آخر، يتعين عليك التعامل مع بعض القيود المتعلقة بتغييرات المخطط. هذه القيود ضرورية لضمان الاتساق في بيئة مجزأة.

لقد حققوا الكثير من التقدم منذ أن أصبحت عميلاً (منذ عامين تقريبًا)، مثل دعم قيد المفتاح الخارجي: https://planetscale.com/docs/concepts/foreign-key-constraints

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

المفتش هو تطبيق Laravel. باستخدام عمليات الترحيل Laravel، يمكنني استخدام وظيفة إعادة التسمية لتغيير اسم الجدول ببساطة:

Schema::rename('from', 'to');

لا يدعم Planetscale إعادة تسمية الجدول محليًا. لذلك كان علي أن أجد حلاً بديلاً لإنجاز المهمة.

لكي نكون صادقين، فإن إعادة تسمية الجدول هي عملية نادرة جدًا. بالنسبة لي كان ذلك بسبب تداخل الأسماء بين كيانات "المشاريع" و"التطبيقات". اضطررت إلى إعادة تسمية المشاريع -> التطبيقات.

كيفية تكرار جدول في MySQL

هناك طريقتان لتكرار جدول في MySQL.

تكرار بنية الجدول

يمكنك تكرار بنية الجدول فقط (الأعمدة، المفاتيح، الفهارس، إلخ) بدون بيانات، باستخدام إنشاء جدول... مثل:

CREATE TABLE applications LIKE projects;

النتيجة هي إنشاء جدول التطبيقات بنفس بنية جدول المشاريع الأصلية، ولكن بدون بيانات.

لاستيراد البيانات أيضًا، يمكنك تشغيل عبارة ثانية كـ INSERT INTO … SELECT:

INSERT INTO applications SELECT * FROM projects;

احرص على تشغيل هذا البيان على جداول كبيرة لأنه قد يستغرق الكثير من الوقت وموارد الخادم.

تكرار تعريف العمود فقط

الخيار الثاني هو تكرار تعريفات الأعمدة فقط واستيراد البيانات في عبارة واحدة باستخدام CREATE TABLE … AS SELECT:

CREATE TABLE applications AS SELECT * FROM projects;

يرث جدول التطبيقات الجديد تعريفات الأعمدة الأساسية فقط من جدول المشاريع. لا يكرر قيود المفتاح الخارجي والفهارس وتعريفات الزيادة التلقائية.

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

موارد

تعد قاعدة البيانات دائمًا موضوعًا ساخنًا للمطورين في أي مرحلة. يمكنك العثور على موارد تقنية أخرى على المدونة. فيما يلي المقالات الأكثر شعبية حول هذا الموضوع:

  • تم الحل - انتهاك قيود السلامة
  • حفظ مليون استعلام مع التحميل المتلهف Laravel
  • كيفية توسيع نطاق قاعدة بيانات SQL
  • تم الحل - تم تجاوز مهلة انتظار قفل MySQL باستخدام قوائم الانتظار والوظائف في Laravel

جديد للمفتش؟ مراقبة التطبيق الخاص بك مجانا

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

على عكس الأنظمة الأساسية المعقدة الأخرى، فإن Inspector سهل للغاية، وصديق PHP. يمكنك تجربة حزمة Laravel أو Symfony الخاصة بنا.

إذا كنت تبحث عن أتمتة فعالة، ورؤى عميقة، والقدرة على إعادة توجيه التنبيهات والإشعارات إلى بيئة المراسلة الخاصة بك، فجرب Inspector مجانًا. سجل حسابك.

أو تعرف على المزيد على الموقع: https://inspector.dev

MySQL How To Duplicate A Table – Fast Tips

بيان الافراج تم نشر هذه المقالة على: https://dev.to/inspector/mysql-duplicate-table-fast-tips-1hfa?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3