۹۴/۶/۲۳، ۰۷:۵۹ عصر
مدیریت اطلاعات پایگاه داده به ذخیره (INSERT)، انتخاب (SELECT) و به روزرسانی (UPDATE) ختم نمی شود، دیر یا زود و به دلایل مختلف، سیستم ما نیاز خواهد داشت که مواردی را از دیتابیس حذف نماید، از این رو یکی دیگر از پرس و جوهای (query های) MySQL، دستور حذف ردیف ها با استفاده از DELETE است که در ادامه با آن آشنا خواهیم شد، آشنایی دقیق با این دستور از این لحاظ حائز اهمیت است که اگر در تعیین پارامترهای آن اشتباهی انجام دهیم، ممکن است موجب حذف مواردی ناخواسته شویم.
شیوه نگارش (syntax) دستور DELETE
نحوه استفاده از دستور DELETE در MySQL شباهت زیادی با سایر دستوراتی که تا این لحظه بررسی کرده ایم (مانند SELECT، UPDATE و...) دارد و البته رعایت نکات خاص آن نیز ضروری است، به مثال زیر توجه کنید.
شیوه نگارش (syntax) دستور DELETE
نحوه استفاده از دستور DELETE در MySQL شباهت زیادی با سایر دستوراتی که تا این لحظه بررسی کرده ایم (مانند SELECT، UPDATE و...) دارد و البته رعایت نکات خاص آن نیز ضروری است، به مثال زیر توجه کنید.
*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
با این دستور ساده، ردیف یا ردیف هایی در دیتابیس که مقادیر ستون id آنها برابر عدد 1 باشد حذف خواهند شد، ملاحظه می کنید که اگر به فرض پارامتر WHERE استفاده نشود یا اینکه به اشتباه تعیین گردد، موجب حذف موارد ناخواسته خواهد شد، لذا در استفاده از دستور DELETE باید دقت نمود و قبل از هر چیز از اطلاعات حساس دیتابیس پشتیبان تهیه کرده و دستورات را نیز قبل از استفاده نهایی، حتی الامکان تست کرد.
یک مثال کاربردی با دستور DELETE
برای آشنایی بیشتر با دستور DELETE، یک مثال کاربردی را با هم مرور می کنیم، فرض کنید در دیتابیس خود در جدول users اسامی و مشخصات کاربران را در ستون های id، name، pass، age و... ذخیره کرده ایم، حال می خواهیم کاربرانی که نام آنها با حرف ب فارسی یا B لاتین شروع می شود را حذف کنیم، بدین منظور خواهیم نوشت:
یک مثال کاربردی با دستور DELETE
برای آشنایی بیشتر با دستور DELETE، یک مثال کاربردی را با هم مرور می کنیم، فرض کنید در دیتابیس خود در جدول users اسامی و مشخصات کاربران را در ستون های id، name، pass، age و... ذخیره کرده ایم، حال می خواهیم کاربرانی که نام آنها با حرف ب فارسی یا B لاتین شروع می شود را حذف کنیم، بدین منظور خواهیم نوشت:
*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
توضیح:
- همان طور که ملاحظه می کنید، در دستور DELETE می توانیم از WHERE و پارامترهای وابسته به آن مانند OR ، AND ، LIKE و... استفاده کنیم.
- هنگامی که در کنار دستور DELETE از WHERE و LIKE استفاده می کنیم، باید دقت کنیم که علامت % در ابتدا، انتها یا در هر دو سمت پارامتر، نقشی تعیین کننده در نحوه تفسیر دستورمان خواهد داشت که البته در این مورد در مباحث قبلی صحبت کرده ایم.
حذف مقادیر چندگانه با دستور DELETE
در پایان این آموزش بد نیست یک مثال پیشرفته تر را نیز با هم بررسی کنیم، حتما تا به حال صفحات و سایت هایی را دیده اید که با انتخاب چند مورد، می توان تمام آنها را در یک بار و هم زمان حذف نمود، برای این کار ابتدا یک فرم HTML در نظر می گیریم که مقادیر را به صورت آرایه ارسال کند.
*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
نکته: علامت [] در قسمت نام فیلدها باعث می شود موارد به صورت یک آرایه به سرور ارسال شوند.
سپس در سرور از حلقه های for یا foreach می توانیم استفاده کنیم، به مثال زیر توجه کنید.
*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
توضیح:
- برای دریافت متغیر ارسال شده از طرف فرم HTML کافی است از روش های معمول (متد GET یا POST) استفاده کنید.
- اکنون اگر از متغیر delete_array با دستور print_r خروجی بگیرید، کلیدها و مقادیر آرایه به صورت زیر خواهد بود.
به این ترتیب می توان در یک دستور foreach از کلید و مقدار آرایه ارسال شده در query مربوط به DELETE استفاده کرد.
- برای دریافت متغیر ارسال شده از طرف فرم HTML کافی است از روش های معمول (متد GET یا POST) استفاده کنید.
- اکنون اگر از متغیر delete_array با دستور print_r خروجی بگیرید، کلیدها و مقادیر آرایه به صورت زیر خواهد بود.
*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
به این ترتیب می توان در یک دستور foreach از کلید و مقدار آرایه ارسال شده در query مربوط به DELETE استفاده کرد.
ثبت دامنه و فروش هاست، سامانه پیامک، طراحی سایت، خدمات شبکه
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
| دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
sms: 10004673 - 500021995
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
| دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
sms: 10004673 - 500021995