دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۲
  • آبان

جلسه ۲۳ : دستور ALTER در MySQL

  • دسته‌بندی‌ها :
جلسه ۲۳ : دستور ALTER در MySQL
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

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

      دستور ALTER در MySQL

      در ادامه ی این مباحث با چگونگی و چند نمونه از موارد استفاده از دستور ALTER در MySQL آشنا خواهید شد.

      دستور ALTER در MySQL برای هر گونه تغییر در نام جداول یا ستون ها و یا افزودن و حذف ستون ها کاربرد دارد.

      ابتدا برای نمونه جدولی با نام testalter_tbl را ایجاد می کنیم :

      مثال : 

      حذف ، افزودن و یا تغییر موقعیت یک ستون در جدول

      به منظور اینکه ستون i را از جدول MySQL حذف کنید باید از دستور DROP پس از ALTER بصورت زیر  استفاده کنید:

      مثال : 

      نکته:

      اگر جدول تنها شامل یک ستون باشد، دستور DROP عمل نخواهد کرد.

      برای افزودن ستون می توان از دستور ADD در تعریف ستون بعد از ALTER استفاده کرد.

      نمونه کد زیر ستون i را به جدول testalter_tbl اضافه می کند :

      مثال : 

      پس از افزودن مجدد ستون i به جدول testalter_tbl ساختار آن مانند قبل نخواهد بود چراکه در ابتدا ستون i اولین ستون این جدول بود اما با حذف و افزودن مجدد آن به جدول، ستونی که به تازگی اضافه شده به انتهای جدول اضافه می شود.

      مثال : 

      حالا اگر می خواهید ستونی که اضافه می کنید به ابتدای جدول اضافه شود در انتهای ALTER از کلمه کلیدی FIRST استفاده کنید.

      اگر می خواهید ستون جدید بعد از یک ستون مشخص در جدول قرار گیرد نام آن ستون را پس از AFTER و نام ستون جدید را قبل از آن قرار دهید.

      در مثال زیر ستون i یکبار به عنوان اولین ستون به جدول اضافه می شود و بار دیگر پس از ستون c به جدول اضافه می شود:

      مثال : 

      نکته:

      کلمات کلیدی FIRST و AFTER فقط با دستور ADD کار می کنند.

      این به این معنی است که اگر می خواهید موقعیت یک ستون را در جدول تغییر دهید ابتدا باید آن را حذف کرده و سپس موقعیت جدید آن را با ADD تعیین کنید.

      تغییر دادن یک تعریف ستون یا نام

      برای تغییر دادن تعریف ستون از کلمات کلیدی MODIFY یا CHANGE در دستور ALTER استفاده کنید.

      برای مثال، برای تغییر دادن ستون از (CHAR(1 به (CHAR(10 می توانید از دستور زیر استفاده کنید :

      مثال : 

      با CHANGE ، سینتکس یک بیت متفاوت است. پس از کلمه کلیدی CHANGE نام ستون را برای تغییر قرار دهید.

      سپس تعریف جدیدی را تعریف می کنید که شامل نام جدید است.

      مثال زیر را در نظر بگیرید :

      مثال : 

      برای تغییر از BIGINT به INT بدون تغییر نام ستون، کد باید به صورت زیر باشد:

      مثال : 

      هنگام تغییر یا تغییر یک ستون، می توانید مشخص کنید که آیا ستون می تواند مقادیر NULL یا مقادیر پیش فرض آن را داشته باشد یا خیر.

      در واقع، اگر شما این کار را نکنید، MySQL به طور خودکار مقادیر برای این ویژگی ها را اختصاص می دهد.

      در نمونه کد زیر ستونی که NOT NULL باشد، مقدار پیش فرض ۱۰۰ را داراست :

      مثال : 

      اگر از کد فوق استفاده نکنید ، MySQL تمام ستون ها را با مقادیر NULL پر خواهد کرد.

      تغییر دادن مقادیر پیش فرض یک ستون

      شما می توانید یک مقدار پیش فرض را برای هر ستونی با استفاده از ALTER تعریف کنید.

      مثال زیر را در نظر داشته باشید :

      مثال : 

      شما می توانید پیش فرض ها را از ستون ها با استفاده از DROP به همراه ALTER حذف کنید.

      مثال : 

      تغییر نوع یک جدول

      شما می توانید از یک نوع جدول استفاده کنید، به این صورت که از TYPE در طول استفاده از ALTER استفاده کنید.

      در مثال زیر جدول testalter_tbl را به نوع MYISAM تغییر می دهیم.

      برای پیدا کردن TYPE جاری جداول می توان از SHOW TABLE STATUS استفاده کرد:

      مثال : 

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

      برای تغییر نام جداول از گزینه ی RENAME از ساختار  ALTER TABLE استفاده می کنیم.

      در مثال زیر نام جدول از testalter_tbl به alter_tbl تغییر می کند :

      مثال : 

      شما می توانید از دستور ALTER برای ایجاد و رها کردن دستور INDEX در فایل MySQL استفاده کنید.

      کلام آخر

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

      QR:  جلسه ۲۳ : دستور ALTER در MySQL
      به اشتراک بگذارید