فهرست مقاله
خروجی تغییر اضافه کردن برای افزایش موقعیت های متعدد زمینه؟ توضیح مفصل در مورد استفاده از عبارت modify column
خروجی دستور ALTER
هنگامی که ما نیاز به تغییر نام جدول داده یا اصلاح فیلدهای جدول داده داریم، باید از دستور MySQL ALTER استفاده کنیم.
قبل از شروع این آموزش، بیایید جدولی به نام testalter_tbl ایجاد کنیم.
root@host# mysql -u root -p password; Enter password:******* mysql> use chenweiliang; Database changed mysql> create table testalter_tbl -> ( -> i INT, -> c CHAR(1) -> ); Query OK, 0 rows affected (0.05 sec) mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | i | int(11) | YES | | NULL | | | c | char(1) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
حذف، افزودن یا اصلاح فیلدهای جدول
دستور زیر از دستور ALTER با عبارت DROP برای رها کردن ستون i جدول ایجاد شده در بالا استفاده می کند:
mysql> ALTER TABLE testalter_tbl DROP i;
اگر فقط یک فیلد در جدول داده باقی مانده باشد، نمی توان از DROP برای حذف یک فیلد استفاده کرد.
عبارت ADD در MySQL برای افزودن ستون به جدول داده ها استفاده می شود.مثال زیر فیلد i را به جدول testalter_tbl اضافه می کند و نوع داده را تعریف می کند:
mysql> ALTER TABLE testalter_tbl ADD i INT;
پس از اجرای دستور فوق فیلد i به صورت خودکار به انتهای فیلدهای جدول داده ها اضافه می شود.
mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
در صورت نیاز به تعیین مکان فیلد جدید، می توانید از کلمه کلیدی FIRST ارائه شده توسط MySQL استفاده کنید.موقعیت یابیستون اول)، نام فیلد AFTER (تنظیم بعد از یک فیلد).
دستور ALTER TABLE زیر را امتحان کنید و پس از اجرای موفقیت آمیز، از SHOW COLUMNS برای مشاهده تغییرات در ساختار جدول استفاده کنید:
ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT FIRST; ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT AFTER c;
کلمات کلیدی FIRST و AFTER فقط در عبارت ADD استفاده می شوند، بنابراین اگر می خواهید موقعیت یک فیلد جدول داده را بازنشانی کنید، باید از DROP برای حذف فیلد استفاده کنید و سپس از ADD برای اضافه کردن فیلد و تنظیم موقعیت استفاده کنید.
نوع و نام فیلد را تغییر دهید
اگر نیاز به تغییر نوع و نام فیلد دارید، می توانید از عبارت MODIFY یا CHANGE در دستور ALTER استفاده کنید.
به عنوان مثال، برای تغییر نوع فیلد c از CHAR(1) به CHAR(10)، دستور زیر را اجرا کنید:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
با عبارت CHANGE، نحو بسیار متفاوت است.بلافاصله بعد از کلمه کلیدی CHANGE نام فیلدی است که می خواهید تغییر دهید و سپس نام و نوع فیلد جدید را مشخص کنید.مثال زیر را امتحان کنید:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
اثر ALTER TABLE بر مقادیر صفر و پیش فرض
وقتی یک فیلد را تغییر میدهید، میتوانید تعیین کنید که آیا فقط شامل یا مقدار پیشفرض شود.
مثال زیر مشخص می کند که فیلد j NOT NULL و مقدار پیش فرض آن 100 است.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
اگر مقدار پیشفرض تنظیم نکنید، MySQL به طور خودکار فیلد را به صورت پیشفرض روی NULL تنظیم میکند.
مقدار پیش فرض فیلد را تغییر دهید
می توانید از ALTER برای تغییر مقدار پیش فرض یک فیلد استفاده کنید، مثال های زیر را امتحان کنید:
mysql> ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | 1000 | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
همچنین می توانید مانند مثال زیر از دستور ALTER با عبارت DROP برای حذف مقدار پیش فرض یک فیلد استفاده کنید:
mysql> ALTER TABLE testalter_tbl ALTER i DROP DEFAULT; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec) Changing a Table Type:
تغییر نوع جدول داده ها را می توان با استفاده از دستور ALTER و عبارت TYPE انجام داد.مثال زیر را امتحان کنید، جایی که نوع جدول testalter_tbl را به MYISAM تغییر می دهیم:
توجه داشته باشید:برای مشاهده نوع جدول داده ها، می توانید از عبارت SHOW TABLE STATUS استفاده کنید.
mysql> ALTER TABLE testalter_tbl ENGINE = MYISAM; mysql> SHOW TABLE STATUS LIKE 'testalter_tbl'\G *************************** 1. row **************** Name: testalter_tbl Type: MyISAM Row_format: Fixed Rows: 0 Avg_row_length: 0 Data_length: 0 Max_data_length: 25769803775 Index_length: 1024 Data_free: 0 Auto_increment: NULL Create_time: 2007-06-03 08:04:36 Update_time: 2007-06-03 08:04:36 Check_time: NULL Create_options: Comment: 1 row in set (0.00 sec)
تغییر نام جدول
اگر نیاز به تغییر نام جدول داده دارید، می توانید از عبارت RENAME در عبارت ALTER TABLE برای این کار استفاده کنید.
مثال زیر را برای تغییر نام جدول داده testalter_tbl به alter_tbl امتحان کنید:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
از دستور ALTER برای ایجاد و حذف ایندکس در جداول داده MySQL نیز می توان استفاده کرد که در فصل های بعدی به معرفی آن ها خواهیم پرداخت.
استفاده های دیگر را تغییر دهید
موتور ذخیره سازی را اصلاح کنید: آن را به myisam تغییر دهید
alter table tableName engine=myisam;
حذف محدودیت کلید خارجی: keyName یک نام مستعار کلید خارجی است
alter table tableName drop foreign key keyName;
موقعیت نسبی فیلد اصلاح شده: در اینجا name1 فیلدی است که می خواهید تغییر دهید، type1 نوع اصلی فیلد است و می توانید یکی از اولین و بعدها را انتخاب کنید که باید واضح باشد، اول اول قرار می گیرد و بعد از آن است. بعد از فیلد name2 قرار می گیرد
alter table tableName modify name1 type1 first|after name2;
وبلاگ امید چن ویلیانگ ( https://www.chenweiliang.com/ ) shared "MySQL alter add to افزایش موقعیت های چندگانه فیلد؟ توضیح تفصیلی استفاده از عبارت Modify Column" برای شما مفید است.
به اشتراک گذاری لینک این مقاله خوش آمدید:https://www.chenweiliang.com/cwl-495.html
به کانال تلگرام وبلاگ چن ویلیانگ خوش آمدید تا از آخرین به روز رسانی ها مطلع شوید!
📚 این راهنما حاوی ارزش بسیار زیادی است، 🌟این یک فرصت نادر است، آن را از دست ندهید! ⏰⌛💨
اگر دوست داشتید به اشتراک بگذارید و لایک کنید
اشتراک گذاری و لایک های شما انگیزه مستمر ما هستند!