شما عضو این انجمن نبوده یا وارد نشده اید. لطفا برای مشاهده کامل انجمن و استفاده از آن وارد شوید یا ثبت نام کنید .

امتیاز موضوع:
امتیاز موضوع:
  • 34 رأی - میانگین امتیازات: 2.74
  • 1
  • 2
  • 3
  • 4
  • 5
حذف مقادیر از MySQL با دستور DELETE
#1
مدیریت اطلاعات پایگاه داده به ذخیره (INSERT)، انتخاب (SELECT) و به روزرسانی (UPDATE) ختم نمی شود، دیر یا زود و به دلایل مختلف، سیستم ما نیاز خواهد داشت که مواردی را از دیتابیس حذف نماید، از این رو یکی دیگر از پرس و جوهای (query های) MySQL، دستور حذف ردیف ها با استفاده از DELETE است که در ادامه با آن آشنا خواهیم شد، آشنایی دقیق با این دستور از این لحاظ حائز اهمیت است که اگر در تعیین پارامترهای آن اشتباهی انجام دهیم، ممکن است موجب حذف مواردی ناخواسته شویم.

شیوه نگارش (syntax) دستور DELETE


نحوه استفاده از دستور DELETE در MySQL شباهت زیادی با سایر دستوراتی که تا این لحظه بررسی کرده ایم (مانند SELECT، UPDATE و...) دارد و البته رعایت نکات خاص آن نیز ضروری است، به مثال زیر توجه کنید.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
با این دستور ساده، ردیف یا ردیف هایی در دیتابیس که مقادیر ستون id آنها برابر عدد 1 باشد حذف خواهند شد، ملاحظه می کنید که اگر به فرض پارامتر WHERE استفاده نشود یا اینکه به اشتباه تعیین گردد، موجب حذف موارد ناخواسته خواهد شد، لذا در استفاده از دستور DELETE باید دقت نمود و قبل از هر چیز از اطلاعات حساس دیتابیس پشتیبان تهیه کرده و دستورات را نیز قبل از استفاده نهایی، حتی الامکان تست کرد.
یک مثال کاربردی با دستور 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 استفاده کرد.
ثبت دامنه و فروش هاست، سامانه پیامک، طراحی سایت، خدمات شبکه
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
  | دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.

sms: 10004673  - 500021995
پاسخ
 سپاس شده توسط elshan


موضوعات مرتبط با این موضوع…
موضوع نویسنده پاسخ بازدید آخرین ارسال
  آموزش کار با پایگاه داده MySQL در PHP: othersnn 0 121 ۹۷/۱۰/۲۵، ۱۲:۳۳ عصر
آخرین ارسال: othersnn
  استفاده از JOIN و ساخت پرس و جوی ترکیبی در MySQL saberi 0 1,227 ۹۴/۶/۲۳، ۰۸:۱۴ عصر
آخرین ارسال: saberi
  به روز رسانی ردیف ها در MySQL با UPDATE saberi 0 1,033 ۹۴/۶/۲۳، ۰۷:۵۳ عصر
آخرین ارسال: saberi
  توابع تجمعی (Aggregate Functions) در MySQL saberi 0 1,060 ۹۴/۶/۲۳، ۰۷:۴۳ عصر
آخرین ارسال: saberi
  استفاده از ORDER و GROUP در MySQL saberi 0 931 ۹۴/۶/۲۳، ۰۷:۳۶ عصر
آخرین ارسال: saberi
  نحوه استفاده از WHERE در MySQL saberi 0 983 ۹۴/۶/۲۳، ۰۷:۳۰ عصر
آخرین ارسال: saberi
  انتخاب ردیف ها با دستور SELECT FROM در MySQL saberi 0 995 ۹۴/۶/۲۳، ۰۷:۲۵ عصر
آخرین ارسال: saberi
  نحوه ذخیره کردن اطلاعات با دستور INSERT در MySQL saberi 0 1,055 ۹۴/۶/۲۳، ۰۷:۲۱ عصر
آخرین ارسال: saberi
  نگاهی به MySQL، پرکاربردترین سیستم مدیریت پایگاه داده saberi 0 1,185 ۹۴/۶/۲۳، ۰۷:۱۸ عصر
آخرین ارسال: saberi
  ساخت دیتابیس، جدول و ردیف با دستور CREATE در MySQL saberi 0 1,279 ۹۴/۶/۲۳، ۰۷:۱۵ عصر
آخرین ارسال: saberi

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان