اليوم نأخذ موضوع نسخ الجداول في قاعدة البيانات , لنسخ الجداول نستخدم الصيغة التالية :
CREATE TABLE table_name_copy AS Select* from table_name;
تتغير هذه الصيغة بشكل طفيف في SQL Server وتصبح كما يلي:
Select * Into table_name_copy from table_name;
وفي MySQL تكون صيغة نسخ الجداول كما يلي:
CREATE TABLE table_name_copy Select* from table_name;
في جميع الصيغ السابقة تمثل الــ table_name اسم الجدول الذي نود نسخ بنيته مع البيانات الموجودة فيه و table_name_copy تمثل الجدول المنسوخ عن الجدول.table_name
في الحالة التي نريد فيها نسخ بنية الجدول فقط بدون نسخ السجلات في الجدول يمكننا وضع شرط Where له نتيجة False دائماً أي تصبح الصيغة كما يلي :
CREATE TABLE table_name_copy AS Select* from table_name
Where 1 = 0;
نلاحظ ان الشرط 1 = 0 لن يتحقق ابداً لذا سيتم نسخ بنية الجدول فقط ولن يوجد أي سجل سيحقق الشرط
1 = 0 اما في قواعد بيانات DB2 فسنضطر الى اضافة التعبير DEFINITION ONLY فتصبح الصيغة كما يلي :
CREATE TABLE table_name_copy AS (Select* from table_name) DEFINITION
ONLY;
مثال:
لنسخ الجدول Logs الى جدول اخر يسمى OldLogs نستخدم الصيغة التالية :
CREATE TABLE OldLogs AS Select * from Logs;
كان هذا درسنا لليوم نسخ الجداول في قواعد البيانات sql نلتقي لاحقا في درس جديد والذي سيكون حول تعديل الجداول شرح sql بالعربي .
أضف تعليق:
0 comments: