Navigation

شرح نسخ الجداول – شرح sql بالعربي

في جميع الصيغ السابقة تمثل الــ table_name اسم الجدول الذي نود نسخ بنيته مع البيانات الموجودة فيه و table_name_copy تمثل الجدول المنسوخ عن الجدول.table_name في الحالة التي نريد فيها نسخ بنية الجدول فقط بدون نسخ السجلات في الجدول يمكننا وضع شرط Where له نتيجة False دائماً أي تصبح الصيغة كما يلي

اليوم نأخذ موضوع نسخ الجداول في قاعدة البيانات , لنسخ الجداول نستخدم الصيغة التالية :
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: