ALTER TABLE হলো SQL (Structured Query Language)-এর একটি গুরুত্বপূর্ণ Data Definition Language (DDL) স্টেটমেন্ট, যা কোনো বিদ্যমান (Existing) টেবিলের গঠন (Structure) পরিবর্তন করার জন্য ব্যবহৃত হয়।
অর্থাৎ, টেবিলটি ডিলিট না করেই এর মধ্যে নতুন কলাম যোগ করা, পুরোনো কলাম মুছে ফেলা, কলামের নাম পরিবর্তন করা, ডেটা টাইপ পরিবর্তন করা অথবা নতুন Constraint যোগ বা অপসারণ করা যায়।
সহজভাবে বলতে গেলে, ALTER TABLE হলো এমন একটি SQL কমান্ড যার মাধ্যমে একটি বিদ্যমান টেবিলের কাঠামো প্রয়োজন অনুযায়ী পরিবর্তন করা যায়।

ALTER TABLE কেন ব্যবহার করা হয়?
ডেটাবেজ তৈরি করার পর অনেক সময় নতুন তথ্য সংরক্ষণের প্রয়োজন হয় অথবা পুরোনো কাঠামো পরিবর্তন করতে হয়। তখন নতুন করে টেবিল তৈরি না করে ALTER TABLE ব্যবহার করা হয়।
এটি ব্যবহার করার প্রধান কারণগুলো হলো—
- নতুন কলাম যোগ করা
- অপ্রয়োজনীয় কলাম মুছে ফেলা
- কলামের ডেটা টাইপ পরিবর্তন করা
- কলামের নাম পরিবর্তন করা
- Primary Key, Foreign Key, Unique, Check, Default ইত্যাদি Constraint যোগ বা বাদ দেওয়া
- টেবিলের কাঠামো উন্নত করা
ALTER TABLE দিয়ে কী কী করা যায়?
১. নতুন কলাম যোগ করা (ADD COLUMN)
বিদ্যমান টেবিলে নতুন একটি কলাম যোগ করতে ADD ব্যবহার করা হয়।
Syntax
ALTER TABLE table_name
ADD column_name datatype;
Example
ALTER TABLE Employee
ADD Email VARCHAR(100);
এখানে Employee টেবিলে Email নামে একটি নতুন কলাম যুক্ত করা হয়েছে।
২. কলাম মুছে ফেলা (DROP COLUMN)
যদি কোনো কলামের আর প্রয়োজন না থাকে, তাহলে সেটি মুছে ফেলা যায়।
Syntax
ALTER TABLE table_name
DROP COLUMN column_name;
Example
ALTER TABLE Employee
DROP COLUMN BirthDate;
এখানে BirthDate কলামটি টেবিল থেকে মুছে ফেলা হয়েছে।
৩. কলামের ডেটা টাইপ পরিবর্তন করা
অনেক সময় কোনো কলামের ডেটা টাইপ পরিবর্তন করতে হয়।
MySQL Syntax
ALTER TABLE table_name
MODIFY COLUMN column_name datatype;
SQL Server Syntax
ALTER TABLE table_name
ALTER COLUMN column_name datatype;
Example
ALTER TABLE Employee
ALTER COLUMN Salary DECIMAL(15,2);
এখানে Salary কলামের ডেটা টাইপ পরিবর্তন করা হয়েছে।
৪. কলামের নাম পরিবর্তন করা
অনেক ডেটাবেজে কলামের নাম পরিবর্তনের জন্য RENAME COLUMN ব্যবহার করা হয়।
Syntax
ALTER TABLE table_name
RENAME COLUMN old_name TO new_name;
Example
ALTER TABLE Employee
RENAME COLUMN FirstName TO FullName;
৫. Constraint যোগ করা
ALTER TABLE ব্যবহার করে Primary Key, Foreign Key, Unique বা Check Constraint যোগ করা যায়।
Primary Key যোগ করার উদাহরণ
ALTER TABLE Employee
ADD CONSTRAINT PK_Employee
PRIMARY KEY(EmployeeID);
Foreign Key যোগ করার উদাহরণ
ALTER TABLE Employee
ADD CONSTRAINT FK_Department
FOREIGN KEY (DepartmentID)
REFERENCES Department(DepartmentID);
৬. Constraint অপসারণ করা
যদি কোনো Constraint আর প্রয়োজন না হয়, তাহলে সেটি ডিলিট করা যায়।
Example
ALTER TABLE Employee
DROP CONSTRAINT PK_Employee;
ALTER TABLE Statement-এর সাধারণ Syntax
ALTER TABLE table_name
ADD column_name datatype;
ALTER TABLE table_name
DROP COLUMN column_name;
ALTER TABLE table_name
MODIFY COLUMN column_name datatype;
ALTER TABLE table_name
ALTER COLUMN column_name datatype;
ALTER TABLE table_name
RENAME COLUMN old_name TO new_name;
ALTER TABLE ব্যবহারের বাস্তব উদাহরণ
ধরা যাক Employee নামে একটি টেবিল রয়েছে।
CREATE TABLE Employee(
EmployeeID INT,
Name VARCHAR(100),
Salary DECIMAL(10,2)
);
এখন Email নামে একটি নতুন কলাম যোগ করা হবে।
ALTER TABLE Employee
ADD Email VARCHAR(100);
Salary কলামের ডেটা টাইপ পরিবর্তন করা হবে।
ALTER TABLE Employee
ALTER COLUMN Salary DECIMAL(15,2);
Name কলামের নাম পরিবর্তন করা হবে।
ALTER TABLE Employee
RENAME COLUMN Name TO EmployeeName;
অপ্রয়োজনীয় Email কলামটি মুছে ফেলা হবে।
ALTER TABLE Employee
DROP COLUMN Email;
ALTER TABLE ব্যবহারের সুবিধা
- নতুন টেবিল তৈরি করার প্রয়োজন হয় না।
- বিদ্যমান ডেটা অক্ষত রেখে পরিবর্তন করা যায়।
- ডেটাবেজ রক্ষণাবেক্ষণ সহজ হয়।
- প্রয়োজনে দ্রুত নতুন কলাম যুক্ত করা যায়।
- টেবিলের কাঠামো সহজেই আপডেট করা যায়।
- ডেটাবেজ ডিজাইন আরও নমনীয় হয়।
ALTER TABLE ব্যবহারের সময় সতর্কতা
- গুরুত্বপূর্ণ পরিবর্তনের আগে ডেটাবেজ ব্যাকআপ রাখুন।
- কলাম মুছে ফেললে সেই কলামের সব ডেটা হারিয়ে যেতে পারে।
- ডেটা টাইপ পরিবর্তনের আগে বিদ্যমান ডেটার সাথে সামঞ্জস্য নিশ্চিত করুন।
- Constraint পরিবর্তনের সময় টেবিলগুলোর সম্পর্ক (Relationship) পরীক্ষা করুন।
- Production Database-এ পরিবর্তনের আগে Test Environment-এ যাচাই করা ভালো।
ALTER TABLE এবং CREATE TABLE-এর পার্থক্য
| CREATE TABLE | ALTER TABLE |
|---|---|
| নতুন টেবিল তৈরি করে | বিদ্যমান টেবিল পরিবর্তন করে |
| প্রথমবার ব্যবহার করা হয় | পরে প্রয়োজন অনুযায়ী ব্যবহার করা হয় |
| নতুন Structure তৈরি করে | Structure পরিবর্তন করে |
| নতুন Database Design শুরু করে | বিদ্যমান Design আপডেট করে |
ALTER TABLE এবং DROP TABLE-এর পার্থক্য
| ALTER TABLE | DROP TABLE |
| টেবিলের কাঠামো পরিবর্তন করে | পুরো টেবিল মুছে ফেলে |
| ডেটা সাধারণত সংরক্ষিত থাকে | টেবিলসহ সব ডেটা মুছে যায় |
| নিরাপদ পরিবর্তনের জন্য ব্যবহৃত | স্থায়ীভাবে টেবিল অপসারণের জন্য ব্যবহৃত |
ALTER TABLE কোন কোন Database-এ ব্যবহার করা যায়?
ALTER TABLE প্রায় সব জনপ্রিয় Relational Database Management System (RDBMS)-এ সমর্থিত।
- MySQL
- Microsoft SQL Server
- PostgreSQL
- Oracle Database
- SQLite
- MariaDB
তবে কিছু সিনট্যাক্স ডেটাবেজভেদে সামান্য ভিন্ন হতে পারে।
Frequently Asked Questions (FAQ)
ALTER TABLE কী?
ALTER TABLE হলো SQL-এর একটি DDL স্টেটমেন্ট যা বিদ্যমান টেবিলের কাঠামো পরিবর্তনের জন্য ব্যবহৃত হয়।
ALTER TABLE দিয়ে কী করা যায়?
- নতুন কলাম যোগ করা
- কলাম মুছে ফেলা
- ডেটা টাইপ পরিবর্তন করা
- কলামের নাম পরিবর্তন করা
- Constraint যোগ বা অপসারণ করা
ALTER TABLE কি ডেটা মুছে ফেলে?
না। সাধারণভাবে ALTER TABLE টেবিলের গঠন পরিবর্তন করে। তবে যদি DROP COLUMN ব্যবহার করা হয়, তাহলে সেই কলামের ডেটা স্থায়ীভাবে মুছে যাবে।
ALTER TABLE কি DDL কমান্ড?
হ্যাঁ। ALTER TABLE হলো SQL-এর একটি Data Definition Language (DDL) কমান্ড।
CREATE TABLE এবং ALTER TABLE-এর মধ্যে পার্থক্য কী?
CREATE TABLE নতুন টেবিল তৈরি করে, আর ALTER TABLE বিদ্যমান টেবিলের কাঠামো পরিবর্তন করে।
উপসংহার
ALTER TABLE SQL-এর অন্যতম গুরুত্বপূর্ণ স্টেটমেন্ট, যা বিদ্যমান টেবিলের গঠন পরিবর্তন করতে ব্যবহৃত হয়। নতুন কলাম যোগ করা, অপ্রয়োজনীয় কলাম অপসারণ, ডেটা টাইপ পরিবর্তন, কলামের নাম পরিবর্তন এবং বিভিন্ন Constraint যোগ বা অপসারণ—সবকিছুই ALTER TABLE-এর মাধ্যমে সহজে করা যায়। ডেটাবেজ রক্ষণাবেক্ষণ ও ভবিষ্যৎ প্রয়োজন অনুযায়ী টেবিল আপডেট করার ক্ষেত্রে এটি একটি অপরিহার্য SQL কমান্ড।
