یادگیری SQL در ۲۰ دقیقه

یادگیری SQL در ۲۰ دقیقه

امروز در این پست قصد داریم تا به شما مباحث کلیدی و ضروری SQL را آموزش بدهیم.همانطور که میدانید یادگیری SQL یکی از مباحث کلیدی و مهم برای هر برنامه نویس تحت وب است.در ادامه با ما همراه باشید.

  1. ایجاد جدول(table)

وقتی یک جدول جدید در SQL ایجاد می کنید تابع CREATE TABLE فراخوانی میشود.این تابع شامل تمام آرگومتنهای مورد نیاز برای ستون های جدول ما میباشد(البته همراه با نوع داده آنها).ما به عنوان مثال یک جدول برای ماههای سال در نظر می گیریم و نام آن را months انتخاب می کنیم.این جدول شامل سه بخش است:

  • id:برای نگه داری تعداد ماه های سال(نوع عددی integer)
  • name:برای نگه داری نام ماه های سال(نوع کاراکتر حداکثر ۲۰)
  • days:برای نگه داری تعداد روزهای همان ماه(نوع عددی integer)

برای ایجاد این جدول در SQL از کد زیر استفاده خواهیم کرد.

CREATE TABLE months (id int, name varchar(20), days int);

۲-اضافه کردن سطر

خوب در ادامه برای هر ماه اطلاعاتی را بصورت سطر وارد می کنیم.مابرای اضافه کردن اطلاعات از دستور INSERT استفاده خواهیم کرد.برای این کار دو روش وجود دارد:
در روش اول نام ستونهایی که میخواهیم اطلاعات را به آن اضافه کنیم مشخص نیست.این کار با اینکه کد کوتاهتری دارد ولی اگر در آینده ما ستون های دیگری را اضافه کنیم،پایگاه داده ما با مشکل برهم ریختگی مواجه خواهد شد.در  زیر این کد را مشاهده می کنید.

INSERT INTO months VALUES (1,'January',31);

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

INSERT INTO months (id,name,days) VALUES (2,'February',29);

۳-انتخاب(SELECT)

دستور select یکی از پرکاربردترین دستورات می باشد که ما از آن برای بیرون کشیدن داده از دیتتابیس استفاده خواهیم کرد.ما در زیر یکی از پر کاربردترین نوع استفاده را برایتان می آوریم که در آن ما تمام ستون ها و سطرهای جدول characters را بیرون می کشیم.

SELECT * FROM "characters"

علامت * به معنی این است که ما تمام اطلاعات ستون های جدول را بدون از دست داده هیچ یک از اطلاعات بیرون بکشیم.از آنجایی که در SQL معمولا تعداد جدول ها بسیار زیاد است ما از FROM برای انتخاب جدول مورد نظر استفاده خواهیم کرد.

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

SELECT name, phone FROM "characters"

همچنین در بیشتر مواقع ما میخواهیم که خروجی را بصورت خاصی ذخیره نماییم.ما به این منظور از دستور ORDER BY استفاده می کنیم.بطور معمول از دو روش مرتب سازی ASC(بصورت پیش فرض) و DESC استفاده می شود.

SELECT name, weapon FROM "characters" ORDER BY name DESC

۴-دستور Where

شما با انتخاب یک ستون خاص آشنا شدید ولی اگر یک سطر خاص را نیاز داشته باشید چطور؟برای این منظور ما از دستور Where استفاده خواهیم کرد.با یک مثال برایتان توضیح را روشن تر می سازیم.ما میخواهیم در جدول characters در ستون phone شماره ی ۴۱۵۲۶۲۶۳۵۶ را انتخاب نماییم.برای این منظور از دستور زیر استفاده خواهیم کرد.

SELECT * 
FROM "characters" 
WHERE phone= "4152626356";

۵-دستور AND/OR

برای سفارشی کردن و مختص کردن دستورات خود برای انتخاب یک بخش از جدول میتوانیم از دستورات AND و OR استفاده نماییم.البته ما از سایر عملوند ها نیز می توانی م استفاده کنیم که فقط نام آنها را برایتان می آوریم.(=,<,>,<=,>=,<>).

برای روشن تر شدن بحث، بفرض  یک جدول albums داریم که مشخصات آهنگ ها را برایمان نگه می دارد.ما میخواهیم از این جدول آهنگهایی از گروه POP که کمتر از ۵۰ هزار بار دانلود شده اند را استخراج نماییم.برای این کار از دستور زیر استفاده خواهیم کرد.

SELECT * 
FROM albums 
WHERE genre = 'POP' AND downloads <= 50000 
ORDER BY released

۶- دستورات In/Between/Like

Where از برخی دستورات خاصی نیز استفاده می کند که کار را برای بررسی جدول بسیار راحتر می کند.
In:از این دستور برای مقایسه ستون ها متعدد

Between:برای بررسی بین دو مقدار مشخص

Like:جست و جو بر اساس یک الگوی خاص

حال برای روشن تر شدن موضوع مثالی را برایتان می آوریم.

برای مثال ما میخوایم از جدول albums  بین دو گروه موسیقی pop و rock جست و جویی را انجام دهیم.برای این منظور از IN استفاده خواهیم کرد.(“IN("value1","value2.

SELECT * FROM albums WHERE genre IN ('pop','soul');

اگر ما بخواهیم تمام آلبوم های بین تارخ ۱۳۸۰ تا ۱۳۹۵ را استخراج نماییم از دستور Between استفاده خواهیم کرد.

SELECT * FROM albums WHERE released BETWEEN 1380 AND 1395;

۷-توابع

در SQL تعدادی تابع وجود دارند که کار را برای ما بسیار آسان می کنند.ما در زیر تعدادی از آنها را برایتان می آوریم.

()COUNT:تعداد سطرها را برای ما بازمی گرداند.

()SUM:مجموع یک ستون عددی را برایمان باز می گرداند.

()AVG:میانگین مجموعه ای از ارزشها را برمی گرداند.

()MIN() / MAX:مقدار بیشترین/کمترین مقدار یک ستون ا برمیگرداند.

برای مثال:

SELECT MAX(released) FROM albums;

۸-انتخاب تو در تو
ما میتوانیم از دستورات SQL بصورت تو در تو نیز استفاده نماییم.برای روشن شدن موضوع کار را با یک مثال پی میگیریم.برای مثال ما میخواهیم از جدول Albums نام خواننده و نام آلبوم  و سال تولید آلبوم را برای پیدا کردن قدیمیترین آلبوم جدول جست و جو کنیم.

SELECT artist,album,released 
FROM albums 
WHERE released = (
 SELECT MIN(released) FROM albums
);

۹-اتصال جدول ها

در پایگاه داده های پیچیده،معمولا چندین جدول وجود دارد و برنامه نویسان معمولا برای دستیابی به اطلاعات جدول ها از اتصال آنها استفاده می کنند.کار را با یک مثال ادامه میدهیم.فرض کنید ما دو جدول داریم که یکی اطلاعات بازی و دیگری اطلاعات  سازندگان بازی را نگه میدارند.

در جدول بازهای رایانه ای یک ستون با نام سارندگان آن وجود دارید که اطلاعات را بصورت شماره که نمایانگر id مربوط به سازنده بازی است نگه میدارد و در جدول مربوط به سازندگان بازی اطلاعات هر سازنده بطور کامل وارد شده است.ما برای اینکه به اطلاعات کامل مربوط به هر بازی دسترسی داشته باشیم باید از INNER JOIN استفاده نماییم.به مثال زیر توجه نمایید.

SELECT video_games.name, video_games.genre, game_developers.name, game_developers.country 
FROM video_games 
INNER JOIN game_developers 
ON video_games.developer_id = game_developers.id;

۱۰-نام مستعار(Aliases)

اگر به مثال بالا توجه کرده باشید متوجه خواهید شد که ما دو ستون با نام name داریم که ایم یکمی گیج کننده است بنابراین ما برای جلوگیری از اشتباه از نام مستعار استفاده خواهیم کرد.لذا ما یکی از نام های تکراری را تغییر می دهیم:name در جدول game_developer را به developer تغییر می دهیم.البته ما میتوانیم تغییرات را به نام جدول ها نیز اعمال کنیم برای مثال جدول video-game را به game  و جدول game-developer را به dev تغییر دهیم.

SELECT games.name, games.genre, devs.name AS developer, devs.country 
FROM video_games AS games 
INNER JOIN game_developers AS devs 
ON games.developer_id = devs.id;

۱۱-به روز رسانی(update)

گاهی اوقات ما داده های جدول را  به مرور زمان تغییر می دهیم لذا در SQL برای اعمال این تغییرات از UPDATE استفاده می شود.

عملکرد update به این شکل است:

انتخاب جدول و جایی که ما میخواهیم آن را تغییر دهیم.

اعمال تغییرات در ستون مورد نظر ما

اعمال تغییرات با استفاده از Where برای بروزرسانی یک سطر مورد نظر.

به مثال زیر توجه کنید.

UPDATE tv_series 
SET genre = 'drama' 
WHERE id = 2;

۱۲-حذف سطر

حذف کردن یک سطر بسیار ساده است.فقط کافیست ما جدول درست و سطر  مورد نظر را انتخاب کرده و حذف نماییم.

DELETE FROM tv_series 
WHERE id = 4

توجه:در صورت عدم وارد کردن id تمام سطرهای جدول پاک خواهند شد.

۱۳-حذف جدول

اگر ما بخواهیم تمام سطرهای جدول را پاک کنیم ولیخود جدول باقی بماند از دستور TRUNCATE استفاده می کنیم.

TRUNCATE TABLE table_name;

ولی اگر ما بخواهیم هیچ اثری از جدول باقی نماند از دستور  DROP استفاده می کنیم.

DROP TABLE table_name;

فقط خیلی مراقب باشید زیرا این عمل غیر قابل بازگشت است.

 

پایان

+1
0


هرگونه انتشار مطالب اختصاصي و محصولات اين سايت بجز با درج لينک مستقيم شرعا حرام بوده و پيگرد قانوني دارد.
طبق ماده 12 فصل سوم قانون جرائم رايانه هرگونه کپي برداري ممنوع بوده و پيگرد قانوني دارد. براي اطلاعات بيشتر کليک کنيد.

درباره‌ی مدیر سایت

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

یک دیدگاه

  1. خیلی عالی بوذ
    برنامه نویسی جاوا تو ۲۰ دقیقه هم دارید؟

دیدگاه خود را بنویسید

آدرس پست الکترونیک شما منتشر نخواهد شد.خانه های ضروری نشانه گذاری شده اند. *

*


− سه = 3

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>