دستور ALTER در MySQL برای تغییر ساختار جداول موجود در پایگاه داده استفاده می‌شود. با استفاده از این دستور می‌توان ستون‌های جدید به جدول اضافه کرد، ستون‌های موجود را تغییر داد یا حذف کرد، ایندکس‌ها را اضافه یا حذف کرد و بسیاری تغییرات دیگر را انجام داد.

کاربردهای اصلی دستور ALTER

  1. اضافه کردن ستون
  2. حذف ستون
  3. تغییر نوع داده ستون
  4. تغییر نام ستون
  5. اضافه کردن یا حذف ایندکس
  6. تغییر نام جدول

مثال جامع

فرض کنید جدول useritvisit به صورت زیر است:

جدول قبل از تغییرات

CREATE TABLE useritvisit (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(100) NOT NULL,
    phone VARCHAR(15),
    city VARCHAR(50)
);
idnameemailphonecity
1Aliali@example.com09123456789Tehran
2Mohamadmohamad@example.com09234567890Shiraz
3Rezareza@example.com09345678901Isfahan
4Mahyamahya@example.com09456789012Eslamabad
5Mehrdadmehrdad@example.com09567890123Kermanshah
جدول قبل از تغییرات با دستور ALTER

اضافه کردن ستون

ساختار

ALTER TABLE table_name
ADD column_name column_definition;

مثال

اضافه کردن ستون age به جدول useritvisit:

ALTER TABLE useritvisit
ADD age INT;

دستور حذف یک ستون از جدول در sql

ساختار

ALTER TABLE table_name
DROP COLUMN column_name;

مثال

حذف ستون phone از جدول useritvisit:

ALTER TABLE useritvisit
DROP COLUMN phone;

تغییر نوع داده ستون

ساختار

ALTER TABLE table_name
MODIFY COLUMN column_name new_data_type;

مثال

تغییر نوع داده ستون age به VARCHAR(3) در جدول useritvisit:

ALTER TABLE useritvisit
MODIFY COLUMN age VARCHAR(3);

تغییر نام ستون

ساختار

ALTER TABLE table_name
CHANGE old_column_name new_column_name new_data_type;

مثال

تغییر نام ستون age به years در جدول useritvisit:

ALTER TABLE useritvisit
CHANGE age years INT;

اضافه کردن ایندکس

ساختار

ALTER TABLE table_name
ADD INDEX index_name (column_name);

مثال

اضافه کردن ایندکس به ستون city در جدول useritvisit:

ALTER TABLE useritvisit
ADD INDEX idx_city (city);

حذف ایندکس

ساختار

ALTER TABLE table_name
DROP INDEX index_name;

مثال

حذف ایندکس idx_city از جدول useritvisit:

ALTER TABLE useritvisit
DROP INDEX idx_city;

تغییر نام جدول

ساختار

ALTER TABLE old_table_name
RENAME TO new_table_name;

مثال

تغییر نام جدول useritvisit به users:

ALTER TABLE useritvisit
RENAME TO users;

مثلا اگر بخواهیم تغییرات زیر را اعمال کنیم:

  1. اضافه کردن ستون age
  2. تغییر نوع داده ستون phone به VARCHAR(20)
  3. تغییر نام ستون city به location
  4. اضافه کردن ایندکس به ستون name
  5. حذف ستون email

دستورات

ALTER TABLE useritvisit
ADD age INT;

ALTER TABLE useritvisit
MODIFY COLUMN phone VARCHAR(20);

ALTER TABLE useritvisit
CHANGE  location VARCHAR(50);

ALTER TABLE useritvisit
ADD INDEX idx_name (name);

ALTER TABLE useritvisit
DROP COLUMN email;

نتیجه نهایی جدول

پس از اجرای دستورات فوق، ساختار جدول useritvisit به صورت زیر خواهد بود:

idnamephonelocationage
1Ali09123456789TehranNULL
2Mohamad09234567890ShirazNULL
3Reza09345678901IsfahanNULL
4Mahya09456789012EslamabadNULL
5Mehrdad09567890123KermanshahNULL
جدول پس از تغییرات دستور ALTER در MySQL

نتیجه‌گیری

دستور ALTER TABLE در MySQL یکی از ابزارهای قدرتمند برای مدیریت و تغییر ساختار جداول است. با استفاده از این دستور می‌توانید تغییرات متنوعی را بر روی جداول خود اعمال کنید و به بهینه‌سازی و مدیریت بهتر داده‌ها بپردازید.

منابع

  1. MySQL Documentation
  2. MySQL Tutorial
  3. W3Schools SQL Tutorial

کلیدواژه‌ها

  • MySQL
  • ALTER TABLE
  • ایندکس
  • مدیریت پایگاه داده
  • SQL
مهرداد یاری

Recent Posts

پیاده‌سازی پروژه در PHP : راهنمای جامع

PHP یکی از محبوب‌ترین زبان‌های برنامه‌نویسی سمت سرور برای توسعه وب است که به دلیل…

19 ساعت ago

فایل php.ini چیست؟

فهرست مطالب فایل php.ini چیست؟ فایل php.ini کجاست؟ مهم‌ترین تنظیمات در فایل php.ini حداکثر زمان…

21 ساعت ago

اتصال دائم به پایگاه داده در PHP

اتصال دائم (Persistent Connection) به پایگاه داده یکی از روش‌های بهینه‌سازی ارتباطات در برنامه‌های PHP…

21 ساعت ago

افزودن عکس در پایگاه داده با PHP

ذخیره و نمایش تصاویر و مدیا در پایگاه داده یکی از نیازهای رایج در پروژه‌های…

3 هفته ago

بررسی خطاهای کوئری‌ پایگاه داده در PHP

هنگام کار با پایگاه داده در PHP، ممکن است خطاهایی ناشی از کوئری‌های ناقص یا…

4 هفته ago

آموزش ایجاد پایگاه داده در PHP

ایجاد پایگاه داده در PHP یکی از مباحث اساسی برای ساخت وب‌سایت‌ها و برنامه‌های تحت…

4 هفته ago