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



  • ۲۲
  • آبان

جلسه ۱۴ : دستور شرطی WHERE در MySQL

  • دسته‌بندی‌ها :
جلسه ۱۴ : دستور شرطی WHERE در MySQL
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، و کاربرانی که دوره آموزش MySQL را دنبال می کنند. در بخش قبلی طرز استفاده از دستور SELECT را برای استخراج داده ها از دیتابیس را مرور کردیم، همچنین نمونه کدهایی از استخراج تمام داده های یک جدول را بررسی کردیم، اما این ساده ترین حالت است و در بسیاری موارد شما نیاز دارید که فقط بخشی از داده های یک یا چند جدول مرتبط را استخراج کنید، برای این منظور شما نیاز با استفاده از یک دستور شرطی در ادامه ی ساختار SELECT دارید، در این مبحث شما یاد خواهید گرفت که چه طور از دستور شرطی WHERE در MySQL برای استخراج رکوردهای مورد نیاز خود استفاده کنید.

      دستور شرطی WHERE در MySQL

      در ادامه ی این آموزش سینتکس دستور شرطی WHERE در MySQL و مثال هایی از آن را ارائه کرده ایم.

      سینتکس دستور شرطی WHERE در MySQL

      ساختار عمومی دستور SELECT به همراه دستور شرطی WHERE در MySQL به صورت زیر است :

      مثال : 

      • شما می توانید از یک یا چند جدول جدا شده با کاما استفاده کنید تا شامل شرایط مختلف با استفاده از دستور WHERE باشد.
      • شما می توانید هر شرطی را با استفاده از دستور WHERE مشخص کنید.
      • با استفاده از عملگرهای AND یا OR می توانید بیش از یک شرط را در دستور WHERE  تعریف کنید.
      • از دستور شرطی WHERE علاوه بر دستور SELECT می توان در دستورات  DELETE یا UPDATE نیز برای تعریف شرط در SQL استفاده کرد.

      دستور WHERE همانند ساختار شرطی if که در بسیاری از زبان های برنامه نویسی استفاده می شود عمل می کنند.

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

      اگر مقدار داده شده در دستور WHERE  بامقدار فیلد موجود در جدول مربوطه برابر باشد، MySQL آن ردیف را باز می گرداند.

      کاربرد عملگرها در دستور WHERE

      لیستی از عملگرهایی که کی می توان به همراه دستور WHERE استفاده کرد به شرح زیر است :

      فرض بر این است که مقدار فیلد A برابر با ۱۰ و مقدار فیلد B نیز برابر با ۲۰ است :

      عملگرتوضیحاتمثال
      =اگر مقدار دو فیلد با هم برابر باشند این عملگر true را برمی گرداند.A = B) is not true)
      !=اگر مقدار دو فیلد با هم برابر نباشند این عملگر true را برمی گرداند.(A != B) is true)
      >اگر مقدار فیلد سمت چپ عملگر از سمت راست آن بیشتر باشد، این عملگر true را برمی گرداند.(A > B) is not true)
      <اگر مقدار فیلد سمت چپ عملگر از سمت راست آن کمتر باشد، این عملگر true را برمی گرداند.(A < B) is true)
      >=اگر مقدار فیلد سمت چپ عملگر از سمت راست آن بیشتر یا مساوی آن باشد، این عملگر true را برمی گرداند.(A >= B) is not true)
      <=اگر مقدار فیلد سمت چپ عملگر از سمت راست آن کمتر یا مساوی آن باشد، این عملگر true را برمی گرداند.(A <= B) is true)

      دستور WHERE برای وقتی که می خواهید ردیف های انتخاب شده را از یک جدول جدا کنید، بسیار مفید است، مخصوصا زمانی که از MySQL Join استفاده می کنید.

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

      اگر شرط داده شده با هیچ رکوردی در جدول مطابقت نداشته باشد، پس از آن پرس و جو هیچ ردیفی بازگردانده نمی شود.

      واکشی داده ها با استفاده از خط فرمان

      در این بخش یک نمونه کد از دستور SELECT به همراه شرط  WHERE ارائه شده است.

      مثال-۱

      مثال زیر تمام رکوردها را از جدول tutorials_tbl که فیلد name آن ها با Sanjay برابر باشد را بازمی گرداند:

      مثال : 

      به استثنای دستور LIKE در سایر موارد مقایسه در SQL، بزرگی یا کوچکی حروف مهم نیست.

      البته شما می توانید با استفاده از کلید BINARY بصورت زیر، حساسیت به حروف را در Query خود اعمال کنید:

      مثال : 

      واکشی داده ها با استفاده از اسکریپت PHP

      شما می توانید از دستورات SQL به همراه دستور شرطی WHERE در تابع ()mysql_query در PHP استفاده کنید.

      این تابع برای اجرای دستورات SQL استفاده می شود و برای واکشی داده ها باید از تابع ()mysql_fetch_array استفاده کرد.

      تابع فوق یک سطر از جدول را در قالب آرایه ی وابسته ، آرایه ی عددی یا هر دو مورد بر می گرداند.

      اگر سطرهای بیشتری وجود نداشته باشد این تابع مقدار FALSE را برمی گداند.

      مثال-۲

      مثال زیر تمام رکوردها را از جدول tutorials_tbl که name آن ها با Sanjay برابر است را برمی گرداند:

      مثال : 

      کلام آخر

      دستور SELECT به تنهایی فقط تمام داده های موجود در یک جدول یا چند را باز می گرداند، در بسیاری از موارد شما نیاز خواهید داشت که فقط تعدادی از رکوردها بازگردانده شود، برای این منظور دستور شرطی WHERE در MySQL شما را به هدفتان می رساند.

      QR:  جلسه ۱۴ : دستور شرطی WHERE در MySQL
      به اشتراک بگذارید