تغيير (إعادة تسمية) في SQL

تغيير (إعادة تسمية) في SQL

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

مثال: لنقم أولاً بإنشاء نموذج لجدول الطالب لتوضيح أمر ALTER:

جدول الطلاب

استفسار:

 ALTER TABLE students    
RENAME TO learners;

الإخراج:

تغيير الجدول

بناء جملة أمر ALTER

فيما يلي تنسيقات بناء الجملة الشائعة لاستخدام أمر ALTER TABLE:

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

تغيير الجدول table_name
إعادة تسمية إلى new_table_name؛

2. إعادة تسمية العمود

تغيير الجدول table_name
إعادة تسمية العمود old_column_name إلى new_column_name؛

3. إضافة عمود جديد

تغيير الجدول table_name
إضافة نوع بيانات اسم العمود؛

تغيير الجدول table_name
تعديل العمود column_name new_datatype؛

أمثلة على أمر ALTER في SQL

فيما يلي أمثلة عملية لمساعدتنا على فهم كيفية استخدام أمر ALTER بشكل فعال في سيناريوهات مختلفة. تتضمن هذه الأمثلة إعادة تسمية الجداول أو الأعمدة، وإضافة أعمدة جديدة أو تغيير العمود أنواع البيانات.

1. قم بإنشاء جدول نموذجي

دعونا أولاً ننشئ نموذجًا للطالب الجدول لتوضيح ALTER يأمر:

 CREATE TABLE Student (   
id INT PRIMARY KEY
name VARCHAR(50)
age INT
email VARCHAR(50)
phone VARCHAR(20)
);

لنقم بإدخال بعض البيانات ثم إجراء عملية ALTER لفهم أمر التغيير بشكل أفضل.

 INSERT INTO Student (id name age email phone)    
VALUES
(1 'Amit' 20 '[email protected]' '9999999999')
(2 'Rahul' 22 '[email protected]' '8888888888')
(3 'Priya' 21 '[email protected]' '7777777777')
(4 'Sonia' 23 '[email protected]' '6666666666')
(5 'Kiran' 19 '[email protected]' '5555555555');

الإخراج

جدول الطالبجدول الطالب

مثال 1: إعادة تسمية عمود

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

بناء الجملة

ALTER TABLE Student إعادة تسمية العمود Column_NAME إلى FIRST_NAME؛

استفسار:

 ALTER TABLE Student RENAME Column name TO FIRST_NAME;  

الإخراج

تغيير (إعادة تسمية) في SQLالإخراج

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

في هذا المثال نريد إعادة تسمية الجدول من Student ل Student_Details باستخدام ALTER TABLE أمر يجعل الاسم أكثر وصفًا وارتباطها بمضمونها.

استفسار:

 ALTER TABLE Student RENAME TO Student_Details;  

الإخراج

جدول تفاصيل_الطالبجدول تفاصيل_الطالب

المثال 3: إضافة عمود جديد

لإضافة عمود جديد إلى الجدول الموجود نحتاج أولاً إلى تحديد الجدول باستخدام أمر ALTER TABLE table_name ثم سنكتب اسم العمود الجديد ونوع البيانات الخاص به مع ADD column_name نوع البيانات. دعونا نلقي نظرة أدناه لفهم أفضل.

بناء الجملة

تغيير الجدول table_name
إضافة نوع بيانات اسم العمود؛

استفسار:

 ALTER TABLE Student ADD marks INT;  

الإخراج

الإخراجالإخراج

في المثال phone يتم تحديث العمود من VARCHAR(20) ل BIGINT لتخزين البيانات الرقمية بشكل أكثر كفاءة وضمان سلامة البيانات لأرقام الهواتف دون أحرف غير ضرورية.

بناء الجملة

تغيير الجدول table_name
تعديل العمود column_name new_datatype؛

استفسار:

 ALTER TABLE Student_Details   
MODIFY COLUMN phone BIGINT;

الإخراج

بطاقة تعريف اسم عمر بريد إلكتروني هاتف
1 ماذا 20 أميت@gmail.com 9999999999
2 راهول 22 [email protected] 8888888888
3 بريا 21 بريا@hotmail.com 7777777777
4 سونيا 23 سونيا@gmail.com 6666666666
5 المكالمة 19 كيران@yahoo.com 5555555555

توضيح :

  • يحتوي عمود الهاتف الآن على نوع بيانات كبير مناسب لتخزين القيم الرقمية الكبيرة.
  • تظل البيانات الموجودة دون تغيير ولكن يتم تخزينها كأعداد صحيحة بدلا من السلاسل.

حالات استخدام أوامر ALTER الإضافية

1. إزالة عمود : في بعض الحالات قد نحتاج إلى إزالة عمود. للقيام بذلك، يمكنك استخدام صيغة DROP COLUMN:

تغيير الجدول Student_Details

إسقاط علامات العمود؛

يقوم هذا الأمر بحذف عمود العلامات بالكامل من الجدول

2. تغيير القيمة الافتراضية للعمود : يمكننا أيضًا تعديل القيمة الافتراضية للعمود باستخدام جملة SET DEFAULT:

تغيير الجدول Student_Details

تغيير عمر العمود الافتراضي 18؛

3. إعادة تسمية جدول أو عمود في قواعد بيانات مختلفة : لاحظ أن بناء جملة SQL يمكن أن يختلف عبر أنظمة قواعد البيانات المختلفة. إليك كيفية إعادة تسمية جدول أو عمود في MySQL MariaDB و أوراكل :

  • ماي إس كيو إل / ماريا دي بي : بناء جملة إعادة تسمية عمود مشابه ولكن يجب عليك أيضًا استخدام الأمر CHANGE COLUMN لإعادة تسمية عمود:

تغيير الجدول الطالب

تغيير العمود old_column_name new_column_name نوع البيانات؛

  • أوراكل : يدعم Oracle بناء جملة RENAME COLUMN ولكنه يتطلب بناء جملة مختلفًا لإعادة تسمية الجدول:

ALTER TABLE Student RENAME COLUMN old_column_name TO new_column_name؛

إنشاء اختبار