دوره های مرتبط با این مقاله
آموزش دستور ALTER TABLE در SQL
از دستور ALTER TABLE برای اضافه کردن ، حذف کردن یا تغییر ستون ها در جدول موجود استفاده می شود.
فرم دستور ALTER TABLE
برای اضافه کردن یک ستون به یک جدول ، از دستور زیر استفاده کنید:
ALTER TABLE table_name ADD column_name datatype
برای حذف کردن یک ستون از یک جدول از دستور زیر استفاده می کنیم ( توجه داشته باشید که بعضی از پایگاه داده ها اجازه پاک کردن ستون را نمی دهند )
ALTER TABLE table_name DROP COLUMN column_name
برای تغییر نوع داده یک ستون در یک جدول، از دستور زیر استفاده می کنیم :
در SQL Server/MS Access:
ALTER TABLE table_name DROP COLUMN column_name
در My SQL/Oracle:
ALTER TABLE table_name MODIFY COLUMN column_name datatype
در Oracle 10G و نسخه های بالاتر:
ALTER TABLE table_name MODIFY column_name datatype
مثال استفاده از ALTER TABLE در SQL
به جدول “Persons” در زیر نگاه کنید:
P_Id
LastName
FirstName
Address
City
1
Hansen
Ola
Timoteivn 10
Sandnes
2
Svendson
Tove
Borgvn 23
Sandnes
3
Pettersen
Kari
Storgt 20
Stavanger
می خواهیم تا ستونی را با نام “DateOfBirth” به جدول “Persons” اضافه کنیم.
از دستور SQL زیر استفاده می کنیم:
ALTER TABLE Persons ADD DateOfBirth date
توجه کنید که ستون جدید “DateOfBirth” از نوع date می باشد و تاریخ را در خود نگه می دارد. نوع داده تعیین می کند که چه نوع داده ای را در یک ستون می توان وارد کرد.
P_Id
LastName
FirstName
Address
City
DateOfBirth
1
Hansen
Ola
Timoteivn 10
Sandnes
2
Svendson
Tove
Borgvn 23
Sandnes
3
Pettersen
Kari
Storgt 20
Stavanger
مثال چگونگی تغییر داده
می خواهیم نوع داده های ستون “DateOfBirth” در جدول “Persons” را تغییر دهیم.
از دستور SQL زیر استفاده می کنیم:
ALTER TABLE Persons ALTER COLUMN DateOfBirth year
توجه کنید که ستون “DateOfBirth” از نوع سال می باشد و از دو یا چهار رقم برای نگهداری سال استفاده خواهد کرد.
مثال استفاده از DROP COLUMN
در مرحله بعد می خواهیم تا ستون “DateOfBirth” را از جدول “Persons” حذف کنیم.
برای اینکار از دستور SQL زیر استفاده می کنیم:
ALTER TABLE Persons DROP COLUMN DateOfBirth
جدول “Persons” به شکل زیر خواهد شد:
P_Id
LastName
FirstName
Address
City
1
Hansen
Ola
Timoteivn 10
Sandnes
2
Svendson
Tove
Borgvn 23
Sandnes
3
Pettersen
Kari
Storgt 20
Stavanger