تغییر جدول (Alter Table)
دستور «تغییر جدول (Alter Table)» یعنی ستون ها یا محدودیت ها را عوض کنیم. گاهی ستون اضافه می کنیم، حذف می کنیم، یا نوع داده را تغییر می دهیم. مثل تغییر برنامه کلاس، اما برای جدول.
افزودن ستون با ALTER TABLE ... ADD
با ADD یک ستون تازه به جدول اضافه می کنیم. «نوع داده (Datatype)» نوع ذخیره سازی را مشخص می کند.
سینتکس
ALTER TABLE table_name;
ADD column_name datatype;
مثال
ALTER TABLE Customers;
ADD Email varchar(255);
نکته: اگر فقط ساختار می خواهی، صفحه ساخت جدول را ببین.
حذف ستون با ALTER TABLE ... DROP COLUMN
با DROP COLUMN یک ستون را حذف می کنیم. بعضی دیتابیس ها این کار را پشتیبانی نمی کنند.
سینتکس
ALTER TABLE table_name;
DROP COLUMN column_name;
مثال
ALTER TABLE Customers;
DROP COLUMN Email;
هشدار: حذف ستون، داده های همان ستون را برای همیشه پاک می کند. اگر شک داری، از پشتیبان گیری استفاده کن.
تغییر نام ستون (Rename Column)
برای تغییر نام ستون در سیستم های مختلف، دستورات فرق دارند.
سینتکس عمومی
ALTER TABLE table_name;
RENAME COLUMN old_name TO new_name;
SQL Server
EXEC sp_rename 'table_name.old_name', 'new_name', 'COLUMN';
تغییر نوع داده ستون (Alter/Modify Datatype)
وقتی نوع داده مناسب نیست، آن را تغییر بده. دقت کن داده های قبلی سازگار باشند.
SQL Server / MS Access
ALTER TABLE table_name;
ALTER COLUMN column_name datatype;
MySQL / Oracle (قدیمی)
ALTER TABLE table_name;
MODIFY COLUMN column_name datatype;
Oracle 10G و بعد
ALTER TABLE table_name;
MODIFY column_name datatype;
نمونه کامل روی جدول Persons
ستون تاریخ تولد را اضافه کن، سپس نوعش را تغییر بده، و در صورت نیاز حذف کن.
افزودن DateOfBirth
ALTER TABLE Persons;
ADD DateOfBirth date;
تغییر نوع به year
ALTER TABLE Persons;
ALTER COLUMN DateOfBirth year;
حذف ستون DateOfBirth
ALTER TABLE Persons;
DROP COLUMN DateOfBirth;
برای حذف کل جدول، به حذف جدول سر بزن. آن دستور همه چیز را می برد.
جمع بندی سریع
- ADD ستون جدید اضافه می کند.
- DROP COLUMN ستون را حذف می کند.
- RENAME COLUMN نام ستون را عوض می کند.
- ALTER/MODIFY نوع داده را تغییر می دهد.
- قبل از تغییرات حساس، پشتیبان بگیر.