استخراج اطلاعات از جدول MySQL
مهندس طهماس زاده
این پست با مسیر متخصص MySQL مرتبط است. مشاهده مسیر (Roadmap)
امروز با یکی از کاربردی ترین آموزش های زبان MySQL از سری آموزش های پایگاه داده در خدمتتان هستیم. در ادامه یاد خواهیم گرفت چطور اطلاعات را از یک جدول در MySQL استخراج کنیم. تا انتهای این آموزش جذاب و کاربردی با ما همراه باشید. همچنین از آموزش “شرط گذاری برای استخراج جداول در MySQL” استفاده کنید.
نحوه استخراج اطلاعات از یک جدول در MySQL
برای نمایش اطلاعات خاص یا نمایش تمامی اطلاعات یک جدول لازم است که با یک سری دستورات و یا پرس و جو ها ( کوئری ها ) اطلاعات مورد نظر را استخراج کنیم. برای راحتی این آموزش چندین جدول را مطابق شکل برای نمونه ایجاد کردیم. در ادامه ی مطالب به آن ها اشاره خواهم کرد.
لازم به ذکر است نحوه ی ایجاد جداول پس از اتمام پرس و جو ها قرار خواهد گرفت.
نکته: پرس و جوها (کوئری گرفتن) و چگونگی استخراج اطلاعات از جداول از اهمیت فراوانی برخوردار است، به همین منظور ابتدا به این موضوع اشاره شده است.
برای استخراج داده ها ابتدا باید دیتابیس مورد نظر را انتخاب کنیم. با انتخاب دیتابیس مورد نظر، اسم آن به حالت بولد نمایش داده می شود. (مطابق شکل زیر)
برای انتخاب دیتابیس دو راه وجود دارد:
1)بر روی دیتابیس مورد نظر دوبار کلیک کنیم.
2)مانند شکل بالا با استفاده از عبارت USE می توانیم دیتابیس را انتخاب کنیم.
تذکر:به یاد داشته باشید بعد انتخاب دیتابیس در انتهای خط “;” حتما گذاشته شود. وگرنه در خطوط بعدی با خطا مواجه خواهید شد.
در شکل بالا برای استفاده از دیتا بیس از USE استفاده شده است. اما نکته ی مهم این است که زبان MySQL به حروف حساس نیست، پس شما کلمه ی USE را به هر نحوی می توانید بنویسید. اما ما برای خوانایی بیشتر کلمات کلیدی را با حروف بزرگ نمایش میدهیم.
شروع به پرس و جو یا QUERY :
در اصل کلمه ی پرس و جو معنی لغت انگلیسی Query است. در ادامه ی آموزش ها طبق عرف از واژه کوئری استفاده خواهیم کرد.
حال نوبت به استخراج اطلاعات می رسد…
رایج ترین و اصلی ترین کلمه ی کلیدی این زبان، کلمه ی SELECT به معنای انتخاب کردن است.
بیایید با هم سناریویی رو در نظر بگیریم. فرض کنید ما دیتابیس یک سیستم رای گیری الکترونیک را داریم و می خواهیم برای جداولش کوئری بنویسیم و از SELECT استفاده کنیم.
بعد از SELECT ما باید ستون هایی که در جدول مورد نظرمون است را بنویسیم. اگر تمام ستون ها مدنظر شماست، تنها کافیست به جای نوشتن تک به تک ستون ها از “*” استفاده کنید. یادتون باشه برای انتخاب همه ی ستون ها از این کارکتر استفاده می شود. برای راحتی در درک موضوع، عکس زیر که یک جدول به نام “رای دهنده” را نمایش می دهد، را مشاهده کنید.
اطلاعات جدول بالا تمامی اطلاعات جدول رای دهنده است. برای دستیابی به این جدول باید بعد از کلمه ی SELECT از * استفاده شود.
انتخاب جدول موردنظر:
بعد از انتخاب ستون های جدول نوبت به این می رسد که، ما این کوئری رو برای چه جدولی می نویسیم. برای انتخاب جدول مورد نظرمون باید بعد از *، از کلمه ی کلیدی FROM به معنای “از” استفاده کنیم. در جلوی کلمه ی FROM باید نام جدول خومون رو بنویسیم.
کوئری برای جدول بالا:
SELECT * FROM raydahande
اگر دو خط بالا را کلمه به کلمه ترجمه کنیم، می گوید که: همه چیز را از جدول رای دهنده انتخاب کن …
اگر فقط کد ملی و نام افراد رای دهنده را بخواهیم نمایش بدهیم.
باید نام ستون ها را بعد از کلمه ی “SELECT” بیاوریم. البته نباید نام ستون ها را بلافاصله بعد از هم بیاوریم، برای فاصله باید با کاراکتر “,” از هم جدا شوند.
دستور کوئری بالا را می نویسیم:
SELECT CodeMelli , name FROM raydahande
خروجی دو خط بالا به شکل زیر است:
نکته: در تصویر بالا در ستون اول کد ملی و در ستون دوم نمایش داده شده به همین علت در کد وارد شده ابتدا کد ملی قرار گرفته است. یعنی اگر جای نام و کد ملی در کد دو خطی بالا عوض شود ستون ها نیز جابجا می شوند.
شرط گذاری برای استخراج جداول (WHERE) :
بیاید به ادامه ی سناریوی خود بپردازیم…
فرض کنید از شما یک فرد به خصوص از جدول رای دهنده را خواستند برای این کار باید از کلمه ی کلیدی WHERE استفاده کنیم.
مثال) اطلاعات رای دهندگانی که نام آن ها محمد است.
پاسخ) برای خروجی مورد نظر باید ابتدا مشخص کنیم که، کدام ستون ها ازجدول مورد نظر خواسته شده است، چون در ابتدای سوال تمام اطلاعات رای دهندگان خواسته شده است پس در نتیجه از “*” استفاده می کنیم.
SELECT * FROM raydahande
تا این مرحله تمامی اطلاعات جدول رای دهنده نمایش داده می شود اما برای گذاشتن شرط همانند زیر عمل می کنیم:
SELECT * FROM raydahande WHERE name = “mohammad”
خروجی کد بالا:
اگر در سوال به جای اطاعات تنها ستون خاصی مد نظر بود کافیست به جای علامت * اسم ستون ها را بگذاریم. در جدول اصلی تنها یک نام محمد وجود داشت پس خروجی تنها دارای یک ردیف است.
مرتب کردن جدول (ORDER BY):
برای مرتب کردن جدول مورد نیاز براساس یک ستون خاص از کلمه ی کلیدی ORDER BY استفاده می کنیم.
مثال) نام رای دهندگان به ترتیب حروف الفبا مشخص شود.
حل: در اینجا باید در نظر داشته باشیم که از ما فقط نام رای دهندگان خواسته شده است. پس با بقیه ی ستون ها کاری نداریم.
SELECT name FROM raydahande ORDER BY name
خروجی :
طبق تصویر بالا جدول خروجی تنها شامل ستون اسم رای دهندگان می باشد و اسامی به ترتیب حروف الفبا مرتب هستند.
نکته ی مهم: نکته ی بسیار مهم، این است که ساختار دستورات حتما باید طبق ترتیب گفته شده باشد و امکان جابه جایی بین کلمات کلیدی وجود ندارد وگرنه برنامه به شما خطا می دهد.
ترتیب ساختار کلی :
SELECT
FROM
WHERE
ORDER BY
به پایان آموزش “استخراج اطلاعات از جدول MySQL” جذاب رسیدیم. چنانچه ابهام و اشکال داشتید، می توانید به بخش کامنت ها مراجعه کنید.