إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    SQL أمر تعديل بنية الجدول

    الأمر ALTER

    الأمر ALTER يستخدم عند الحاجة لإجراء تعديل على بنية الجدول مثل تغيير إسم الجدول, تغيير إسم العمود, تغيير نوع العمود, حذف العمود, إضافة عمود جديد, إضافة خصائص على العمود, و إزالة خصائص من العمود.

    تنبيه: كن حذراً عند إجراء أي تعديل على الجدول لأنك لا تستطيع التراجع عن أي تعديل أجريته على جدول.


    الشكل العام لإستخدامه

    ALTER TABLE table_name
    operation;
    	

    • مكان الكلمة table_name نضع إسم الجدول الذي نريد إجراء تعديلات عليه.
    • مكان الكلمة operation نحدد ما نريد تعديله, حذفه, أو إضافته.

    تجهيز قاعدة البيانات التي سنطبق عليها

    قم بتنفيذ الإستعلام التالي حتى تنشئ قاعدة بيانات جديدة إسمها harmash و تنشئ فيها جدول إسمه users يحتوي على بيانات 5 مستخدمين.

    الإستعلام

    -- سيتم حذفها harmash في حال كان يوجد بالأساس قاعدة بيانات إسمها
    DROP DATABASE IF EXISTS harmash;
    
    -- harmash هنا قمنا بإنشاء قاعدة بيانات جديدة إسمها
    CREATE DATABASE harmash;
    
    -- harmash هنا قمنا بتحديد أن أي إستعلام جديد سيتم تنفيذه على قاعدة البيانات
    USE harmash;
    
    -- يتألف من 4 أعمدة users هنا قمنا بإنشاء جدول جديد إسمه
    -- لأننا قمنا بتحديدها قبل إستدعاء هذا الأمر harmash سيتم إنشاء هذا الجدول بداخل قاعدة البيانات
    CREATE TABLE users (
        id         INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
        first_name VARCHAR(50),
        last_name  VARCHAR(50),
        country    VARCHAR(50)
    );
    
    -- هنا قمنا بإضافة 5 أسطر في الجدول, أي أضفنا معلومات 5 مستخدمين
    -- لاحظ أننا لم نحدد أسماء الأعمدة التي سنضع فيها البيانات لأننا قمنا بملئ جميع المعلومات
    -- في البداية هو حتى يكون عدد القيم الموضوعة يساوي عدد أعمدة الجدول null سبب وضع الكلمة
    -- ستقوم قاعدة البيانات بوضع رقم تعرفة مختلف لكل سطر null مكان الكلمة
    INSERT INTO users VALUES (null, "Rami", "Masri", "Lebanon");
    INSERT INTO users VALUES (null, "Ahmad", "Naji", "Syria");
    INSERT INTO users VALUES (null, "Hanan", "Mostafa", "KSA");
    INSERT INTO users VALUES (null, "Abdullah", "Helmi", "Egypt");
    INSERT INTO users VALUES (null, "Majed", "Alali", "Yaman");
    		

    بعد تنفيذ الإستعلام السابق في phpMyAdmin سيتم إنشاء قاعدة البيانات harmash و إنشاء الجدول users بداخلها.
    قم بالنقر على إسم قاعدة البيانات harmash من القائمة اليسرى حتى تبدأ بالتعامل معها و تطبيق ما ستتعلمه في هذا الدرس.


    البيانات التي قمنا بإضافتها بشكل إفتراضي في الجدول users.

    id first_name last_name country
    1 Rami Masri Lebanon
    2 Ahmad Naji Syria
    3 Hanan Mostafa KSA
    4 Abdullah Helmi Egypt
    5 Majed Alali Yaman

    طريقة حذف عمود من الجدول

    لحذف عمود من الجدول, نكتب DROP COLUMN و من بعدها نحدد إسم العمود الذي نريد حذفه كالتالي.

    ALTER TABLE table_name
    DROP COLUMN column_name; 
    	

    مثال

    الإستعلام التالي يقوم بحذف العمود country من الجدول users.
    بعدها يعرض جميع البيانات الموجودة في الجدول.

    الإستعلام

    ALTER TABLE users         -- users هنا قمنا بتحديد أننا نريد إجراء تعديل على بنية الجدول
    DROP COLUMN country;      -- منه country هنا قمنا بتحديد أننا نريد حذف العامود
    
    SELECT * FROM users;      -- لمعرفة التغيرات الجديدة users هنا قمنا بعرض جميع البيانات الموجودة في الجدول
    		

    سنحصل على النتيجة التالية عند تنفيذ الإستعلام.
    نلاحظ أن العمود country تم حذفه بشكل نهائي من الجدول.

    id first_name last_name
    1 Rami Masri
    2 Ahmad Naji
    3 Hanan Mostafa
    4 Abdullah Helmi
    5 Majed Alali

    طريقة إضافة عمود جديد في الجدول

    لإضافة عمود جديد في الجدول, نكتب ADD و من بعدها نحدد إسم و نوع العمود الذي نريد إضافته كالتالي.

    ALTER TABLE table_name
    ADD column_name datatype; 
    	

    مثال

    الإستعلام التالي يقوم بإضافة عمود إسمه salary و نوعه DOUBLE في الجدول users.
    بعدها يعرض جميع البيانات الموجودة في الجدول.

    الإستعلام

    ALTER TABLE users        -- users هنا قمنا بتحديد أننا نريد إجراء تعديل على بنية الجدول
    ADD salary DOUBLE;       -- DOUBLE و نوعه salary هنا قمنا بتحديد أننا نريد إضافة عمود جديد إسمه
    
    SELECT * FROM users;     -- لمعرفة التغيرات الجديدة users هنا قمنا بعرض جميع البيانات الموجودة في الجدول
    		

    سنحصل على النتيجة التالية عند تنفيذ الإستعلام.
    نلاحظ أنه تم إضافة عمود جديد إسمه salary في آخر الجدول و جميع حقوله فارغة.

    id first_name last_name salary
    1 Rami Masri NULL
    2 Ahmad Naji NULL
    3 Hanan Mostafa NULL
    4 Abdullah Helmi NULL
    5 Majed Alali NULL

    طريقة تغيير نوع القيم التي يمكن تخزينها في العامود

    في البداية, عند تحويل نوع بيانات الجدول, عليك الإنتباه جيداً للأنواع التي تحول إليها لأنك قد تخسر القيم الموضوعة فيها أو قد تخسر جزء منها و إليك بعض الأمثلة.

    • إذا كان الجدول نوعه VARCHAR و قمت بتحويله للنوع INT سيتم تحويل كل القيم السابقة إلى Null لأنه بالمنطق لا يمكنك تحويل النص إلى رقم.
    • إذا كان الجدول نوعه DECIMAL أو DOUBLE أو FLOAT و قمت بتحويله للنوع INT ستخسر أي رقم موضوع بعد الفاصلة فقط لأن النوع INT لا يقبل أي رقم بعد الفاصلة.

    الآن, عليك معرفة أن الكلمة التي تضعها لتغيير نوع القيم التي يمكن تخزينها في العمود تختلف من قاعدة بيانات لأخرى و لكن شكل الإستعلام هو نفسه تماماً.


    في قواعد بيانات MySQL

    لتغيير نوع القيم التي يمكن تخزينها في العمود نكتب MODIFY COLUMN و من بعدها نحدد إسم و نوع العمود الذي نريد تعديل نوعه كالتالي.
    ملاحظة: في المثال التالي, سنكتب الإستعلام باستخدام أسلوب قواعد بيانات MySQL لأنها القاعدة التي نتعامل معها منذ بداية الدورة.

    ALTER TABLE table_name
    MODIFY COLUMN column_name datatype; 
    	

    في قواعد بيانات Access و SQL Server

    لتغيير نوع القيم التي يمكن تخزينها في العمود نكتب ALTER مرة ثانية و من بعدها نحدد إسم و نوع العمود الذي نريد تعديل نوعه كالتالي.

    ALTER TABLE table_name
    ALTER column_name datatype; 
    	

    في قواعد بيانات Oracle قبل الإصدار 10G

    لتغيير نوع القيم التي يمكن تخزينها في العمود نكتب MODIFY COLUMN و من بعدها نحدد إسم و نوع العمود الذي نريد تعديل نوعه كالتالي.

    ALTER TABLE table_name
    MODIFY COLUMN column_name datatype; 
    	

    في قواعد بيانات Oracle الإصدار 10G و الإصدارات الأحدث

    لتغيير نوع القيم التي يمكن تخزينها في العمود, نكتب MODIFY فقط و من بعدها نحدد إسم و نوع العمود الذي نريد تعديل نوعه كالتالي.

    ALTER TABLE table_name
    MODIFY column_name datatype; 
    	

    مثال

    الإستعلام التالي يقوم بتغيير نوع القيم التي يمكن تخزينها في العمود salary إلى DECIMAL.
    بعدها يعرض جميع البيانات الموجودة في الجدول.

    الإستعلام

    ALTER TABLE users                      -- users هنا قمنا بتحديد أننا نريد إجراء تعديل على بنية الجدول
    MODIFY COLUMN salary DECIMAL(7,2);     -- DECIMAL إلى النوع salary هنا قمنا بتحديد أننا نريد تغيير نوع العامود
    
    SELECT * FROM users;                   -- لمعرفة التغيرات الجديدة users هنا قمنا بعرض جميع البيانات الموجودة في الجدول
    		

    سنحصل على النتيجة التالية عند تنفيذ الإستعلام.

    id first_name last_name salary
    1 Rami Masri NULL
    2 Ahmad Naji NULL
    3 Hanan Mostafa NULL
    4 Abdullah Helmi NULL
    5 Majed Alali NULL

    طريقة تغيير إسم الجدول

    لتغيير إسم الجدول, نكتب RENAME TO و من بعدها نضع الإسم الجديد الذي نريد إعطاؤه للجدول كالتالي.

    ALTER TABLE table_name
    RENAME TO new_table_name; 
    	

    مثال

    الإستعلام التالي يقوم بتغيير إسم الجدول إلى employees.

    الإستعلام

    ALTER TABLE users          -- users هنا قمنا بتحديد أننا نريد إجراء تعديل على بنية الجدول
    RENAME TO employees;       -- employees هنا قمنا بتحديد أننا نريد تغيير إسم الجدول إلى
    		

    طريقة تغيير إسم العامود

    طريقة تغيير إسم العمود تختلف بشكل كلي من قاعدة بيانات لأخرى, و الآن سنضع لك الطريقة الخاصة بقواعد بيانات MySQL لأننا نطبق الشرح باستخدامها.
    لتغيير إسم الجدول نكتب CHANGE و من بعدها نحدد إسم العمود الذي نريد تغييره, ثم مسافة فارغة, ثم نضع الإسم الجديد للعامود, ثم نكتب نوع القيم التي يمكن تخزينها في العمود كالتالي.

    ALTER TABLE tableName
    CHANGE old_column_name new_column_name datatype(length);
    	

    مثال

    الإستعلام التالي يقوم بتغيير إسم العمود salary إلى income.
    بعدها يعرض جميع البيانات الموجودة في الجدول.

    الإستعلام

    ALTER TABLE employees                   -- employees هنا قمنا بتحديد أننا نريد إجراء تعديل على بنية الجدول
    CHANGE salary income DECIMAL(7,2);      -- income إلى salary هنا قمنا بتحديد أننا نريد تغيير إسم العامود
    
    SELECT * FROM users;                    -- لمعرفة التغيرات الجديدة employees هنا قمنا بعرض جميع البيانات الموجودة في الجدول
    		

    سنحصل على النتيجة التالية عند تنفيذ الإستعلام.

    id first_name last_name income
    1 Rami Masri NULL
    2 Ahmad Naji NULL
    3 Hanan Mostafa NULL
    4 Abdullah Helmi NULL
    5 Majed Alali NULL
    إعلان

    Eqla3Tech.com

    شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

    لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات الأمن السيبراني

    الدورات

    أدوات مساعدة

    الأقسام

    دورات
    مقالات أسئلة مشاريع كتب