akofaraji.ir

در این بخش قصد داریم با هم آموزش sql ، که برگرفته از سایت خوب روکسو است را با هم پیش ببریم



Generic placeholder image
ئاکو فرجی
30 فروردین 1403

آشنایی با SQL

  کار SQL چیست؟   SQL کوئری ها را در یک پایگاه داده اجرا می کند. SQL داده ها را از یک پایگاه داده دریافت می کند. SQL می تواند داده ها (رکوردها) را در یک پایگاه داده ثبت کند. SQL می تواند داده ها (رکوردها) را در یک پایگاه داده بروزرسانی کند. SQL می تواند داده ها (رکوردها) را از یک پایگاه داده حذف کند. SQL می تواند پایگاه های داده ی جدید بسازد. SQL می تواند در یک پایگاه داده جدول های جدیدی بسازد. SQL می تواند در یک پایگاه داده stored procedures بسازد. SQL می تواند در یک پایگاه داده views بسازد. SQL می تواند permissions را برای جدول ها، procedure ها و view ها تعیین کند.   نکته: با اینکه این زبان یک استانداردِ ANSI/ISO است اما نسخه های مختلفی از آن وجود دارد. البته برای اینکه تا حدی استاندارد بودن خود را حفظ کنند، تمام نسخه ها از دستور های اصلی (مانند SELECT, UPDATE, DELETE, INSERT, WHERE) پشتیبانی می کنند.   استفاده از SQL در یک وب سایت برای ساخت وب سایتی که بخواهد داده ای را از پایگاه داده نشان دهد نیاز به موارد زیر دارید: یک برنامه ی RDBMS1 برای پایگاه داده زبان برنامه نویسی server-side مانند زبان های PHP و ASP استفاده از SQL برای دریافت داده از پایگاه داده استفاده از HTML /...

ادامه مطلب
Generic placeholder image
ئاکو فرجی
30 فروردین 1403

مفاهیم جدول، ردیف، ستون و فیلد در SQL

  جدول ها در SQL   هر پایگاه داده یک یا چند جدول دارد و با یک نام مشخص می شود (مثلا جدول Customers یا Orders در مثال ما). همچنین هر پایگاه داده شامل record هایی است که نام دیگر آن ها ردیف (row) است. اگر بخواهیم برای هر کدام تعریف درستی ارائه کنیم می توان گفت: ردیف (row): هر ورودی که در یک جدول وجود دارد، یک ردیف محسوب می شود. اگر یادتان باشد در مثال جلسه ی قبل، 91 ردیف داشتیم. آیا می دانید چرا به ورودی های جدول ردیف می گوییم؟ به این دلیل که اگر بخواهید یک ورودی جدید را در جدولی وارد کنید، باید آن را به صورت یک ردیف وارد کنید! ستون (column): ستون ها در جدول، داده های عمودی هستند که اطلاعات یک فیلد را در خود دارند. فیلد (Field): هر جدول دارای ردیف و ستون است. تلاقی هر ردیف و ستون یک فیلد یا یک خانه از جدول را تشکیل می دهد.   در ادامه به طور عملی مثال هایی از آن را برایتان توضیح می دهم. پایگاه داده ای که در جلسه ی قبل انتخاب کردیم، پایگاه داده ی Northwind نام دارد که برای اهداف آموزشی ساخته شده است. اگر می خواهید آن را به صورت آفلاین و یک فایل داشته باشید می توانید به لینک های زیر مراجعه کنید: دانلود پایگاه داده ی معروف Northwind برای MS Access و MS SQL Server دانلود پایگاه داده ی معروف Northwind برای MySQL &nb...

ادامه مطلب
Generic placeholder image
ئاکو فرجی
30 فروردین 1403

دستور SELECT و SELECT DISTINCT در SQL

  دستور SELECT در زبان SQL   دستور SELECT (به معنی “انتخاب کردن”) برای انتخاب داده ها از پایگاه داده مورد استفاده قرار می گیرد. داده هایی که با دستور SELECT بر میگردند در جدول نتایج ذخیره می شوند که به آن result-set (به معنی “دسته ی نتیجه ها”) می گوییم.   ساختار کلی این دستور به شکل زیر است:   1 2 SELECT column1, column2, ... FROM table_name;   اگر یادتان باشد column به معنی “ستون” و row به معنای ردیف است. همچنین به جای table_name باید نام جدول خود را قرار دهید. در واقع این دستور می گوید ستون های فرضیِ column1 و column2 را از جدولِ فرضی table_name به ما بده. اگر تمام ستون ها را بخواهیم می توانیم از دستور زیر استفاده کنیم:   1 SELECT * FROM table_name;   علامت ستاره (*) به معنی “هر چیزی” است، بنابراین زمانی که می گوییم * SELECT یعنی هر چیزی را از جدول table_name بردار و به ما تحویل بده. بیایید به پایگاه داده ی Northwind برویم.   دستور SELECT در عمل   اگر یادتان باشد پایگاه داده ی Northwind پایگاه داده ای است که از قبل توسط ماکروسافت آماده شد...

ادامه مطلب
Generic placeholder image
ئاکو فرجی
30 فروردین 1403

دستور WHERE در SQL (+تمرینات)

  دستور WHERE   از دستور WHERE برای فیلتر کردن نتایج استفاده می شود. به عبارت دیگر می توان گفت WHERE یک نوع شرط محسوب می شود که داده ها را بر اساس آن فیلتر می کند. ساختار کلی (syntax) این دستور به شکل زیر است:   1 2 3 SELECT column1, column2, ... FROM table_name WHERE condition;   نکته: ما هنوز با دستورات دیگر SQL به غیر از SELECT آشنا نشده ایم بنابراین از SELECT به عنوان مثال استفاده می کنیم اما شما باید به یاد داشته باشید که WHERE با دستورات دیگری مثل UPDATE و DELETE و غیره نیز استفاده می شود.   طبق معمول قبل از ارائه ی مثال، قسمتی از پایگاه داده ی خود را برای شما قرار می دهیم تا به ساختار کلی آن آشنا شوید:   قسمتی از جدول customer ها در پایگاه داده ی Northwind     حالا به سراغ مثال می رویم! کد زیر مشتریانی را انتخاب می کند که از کشور مکزیک باشند:   1 2 SELECT * FROM Customers WHERE Country='Mexico'; برای مشاهده ی نتیجه ی کد بالا روی این لینک کلیک کنید.   می بینیم که 6 ردیف مختلف به ما برگردانده می شود:   result set ما بعد از دستور SELECT * FROM Customers WHERE Country=’Mexico&rsqu...

ادامه مطلب
Generic placeholder image
ئاکو فرجی
30 فروردین 1403

اپراتورهای AND – OR – NOT در SQL

  اپراتورهای AND – OR – NOT   ما می توانیم دستور WHERE را با اپراتورهای AND – OR – NOT ترکیب کنیم تا به انعطاف بیشتری برسیم و کدهای SQL را دقیق تر کنیم. اپراتورهای AND و OR به ما اجازه می دهند شرط های بیشتری به دستور WHERE اضافه کنیم: اگر دستور AND به WHERE اضافه شود، کوئری ما تنها زمانی اجرا می شود که تمام شرط های آن برقرار باشند. اگر دستور OR به WHERE اضافه شود، کوئری ما زمانی اجرا خواهد شد که یکی از شرط های آن برقرار باشد.   این مسئله نیازی به توضیح ندارد؛ بگذارید برایتان مثالی بزنم… کلمه ی AND به معنی “و” و کلمه ی OR به معنی “یا” است بنابراین: Being 18 and male -> معنی: 18 ساله بودن و همچنین مرد بودن Being 18 or male -> معنی: 18 ساله بودن یا مرد بودن   در دو مثال بالا دو شرط داریم؛ یکی مرد یا مذکر بودن و دیگری 18 ساله بودن. اگر از AND استفاده کنیم یعنی فرد هم باید 18 ساله باشد و هم مذکر باشد اما اگر از OR استفاده کنیم یعنی فرد مورد نظر ما یا 18 ساله باشد یا مذکر! تفاوت بسیار فاحش آن را متوجه شدید؟ شاید بپرسید پس اپراتور NOT چه کار می کند؟ اپراتور NOT (به معنی “غیر” یا “بدون&r...

ادامه مطلب
Generic placeholder image
ئاکو فرجی
31 فروردین 1403

کلیدواژه ی ORDER BY در SQL

        ORDER BY چیست؟   با استفاده از کلیدواژه ی ORDER BY می توانیم result-set (نتایج برگشتی از پایگاه داده) خود را به ترتیب صعودی یا نزولی مرتب کنیم. حالت پیش فرض این کلیدواژه، مرتب سازی به صورت صعودی است اما اگر می خواهید مقادیری را به صورت نزولی مرتب کنید می توانید از کلیدواژه ی DESC استفاده کنید. ابتدا نگاهی به ساختار کلی (syntax) بیندازید:     1 2 3 SELECT column1, column2, ... FROM table_name ORDER BY column1, column2, ... ASC|DESC;     توجه: قسمت “ASC | DESC” در کد بالا یعنی یا می توانید از ASC استفاده کنید و یا DESC. هیچ گاه همزمان از هر دو استفاده نکنید چرا که منطقی نیست؛ نمی توان نتایج را همزمان به صورت صعودی و نزولی مرتب کرد.   بیایید چند مثال واقعی از این کلیدواژه ببینیم…   مثال ها   قبل از هر کاری، نگاهی به قسمتی از پایگاه داده ی Northwind بیندازید:   قسمتی از جدول customer ها در پایگاه داده ی Northwind   ما تمامی مثال ها را روی این جدول پیاده سازی خواهیم کرد.   مثال اول از ORDER BY   به کد زیر دقت کنید:   1 2 SELECT * FR...

ادامه مطلب
Generic placeholder image
ئاکو فرجی
31 فروردین 1403

دستور INSERT INTO و مقادیر NULL در SQL

        دستور INSERT INTO   همانطور که از نام دستور INSERT INTO (به معنی «به … وارد کن») پیداست، از آن برای وارد کردن داده های جدید در جدول استفاده می شود. در واقع این دستور به دو روش نوشته می شود: در روش اول هم نام ستون مشخص می شود و هم مقداری که می خواهیم آن را وارد جدول کنیم. به ساختار کلی زیر توجه کنید:   1 2 INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);   روش دوم زمانی است که شما می خواهید مقداری را در تمام ستون ها وارد کنید که در این حالت عملا یک ردیف را وارد کرده اید.   اگر چنین قصدی دارید نیازی نیست که ستون ها را مشخص کنید چرا که مقادیر به ترتیب (از چپ به راست) در ستون ها قرار خواهند گرفت. تنها نکته ای که باید به آن توجه کنید این است که ترتیب مقادیری که به INSERT INTO می دهید با ترتیب ستون ها یکی باشد. به ساختار زیر توجه کنید:   1 2 INSERT INTO table_name VALUES (value1, value2, value3, ...);   حالا قبل از اینکه به سراغ مثال ها برویم باید نگاهی به پایگاه داده ی Northwind بیندازیم:   قسمتی از جدول Customers در پایگاه داده ی Northwind ...

ادامه مطلب
Generic placeholder image
ئاکو فرجی
31 فروردین 1403

UPDATE و DELETE در SQL

        دستور UPDATE   دستور UPDATE برای تغییر و بروزرسانی مقادیری استفاده می شود که در جدول پایگاه داده وجود دارند. ساختار کلی این دستور به شکل زیر است:   1 2 3 UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;   قبل از هر کار مانند همیشه، نگاهی به جدول Customers می اندازیم:   قسمتی از جدول customer ها در پایگاه داده ی Northwind   حال، مثال ها را روی این جدول پیاده میکنیم.   مثال های دستور UPDATE   دستور SQL زیر اطلاعات اولین مشتری را بروزرسانی می کند (یعنی جایی که CustomerID = 1 باشد)؛ قرار است به ستون های ContactName و City مقادیر جدیدی بدهیم:   1 2 3 UPDATE Customers SET ContactName = 'Alfred Schmidt', City= 'Frankfurt' WHERE CustomerID = 1;   برای اجرای این دستور در پایگاه داده ی Northwind روی این لینک کلیک کنید. پس اجرای این کد پیام زیر به شما نمایش داده خواهد شد: You have made changes to the database. Rows affected: 1   حال برای مشاهده ی جدول و نتیجه ی تغییرات از دستوری استفاده می کنیم که در جلسات اول با آن آش...

ادامه مطلب
Generic placeholder image
ئاکو فرجی
31 فروردین 1403

دستور SELECT TOP در پایگاه های داده مختلف

        سلام خدمت شما دوستان گرامی! بحث امروز ما در رابطه با عبارت SELECT TOP در زبان SQL است. آیا جمله ی زیر را به یاد دارید؟ با اینکه این زبان یک استانداردِ ANSI/ISO است اما نسخه های مختلفی از آن وجود دارد. البته برای اینکه تا حدی استاندارد بودن خود را حفظ کنند، تمام نسخه ها از دستور های اصلی (مانند SELECT, UPDATE, DELETE, INSERT, WHERE) پشتیبانی می کنند.   عبارت SELECT TOP در زبان SQL چه معنی می دهد؟   عبارت SELECT TOP در فارسی معنی «فلان تعدادِ اول را انتخاب کن» می دهد؛   تصور کنید از دوستتان می خواهید فیلم های مورد علاقه اش را به شما بگوید اما دوست ندارید یک ساعت و نیم به صحبت های او گوش کنید بنابراین به او می گویید از لیست فیلم های مورد علاقه ات، سه تای اول کدام هستند؟   در سایت های اینترنتی نیز همین طور است. به طور مثال در وب سایت های خرید لوازم خانه یا محصولات الکترونیک می بینیم که به شما 5 محصول اول را نمایش می دهند و برای مشاهده ی محصولات بیشتر باید به صفحه ی بعد بروید. مثال دیگر همین روکسو ی خودمان است! اگر توجه کرده باشید مطالب این سایت صفحه بندی دارد. چرا؟ به این خاطر که در بسیاری از وب سایت ها مانند روکسو مطالب بسیار زیادی برای مخاطب قرار داده شده است و نشان دادن...

ادامه مطلب
Generic placeholder image
ئاکو فرجی
31 فروردین 1403

توابع مهم SQL از قبیل MIN, MAX, COUNT, AVG, SUM

        توابع ()MIN و ()MAX   اگر معنی نام های این توابع را در انگلیسی بدانید دیگر حتی نیازی به توضیحات من نخواهید داشت! کلمه ی Min در انگلیسی مخفف Minimum (به معنی «کمترین») و کلمه ی Max مخفف Maximum (به معنی «بیشترین») است. حالا که معنی نام این دو واضح شد، کاراییشان نیز واضح است؛ تابع ()MIN کمترین مقدار از یک ستون انتخاب شده را بر می گرداند و ()MAX نیز بیشترین مقدار را.   ساختار کلی تابع ()MIN   1 2 3 SELECT MIN(column_name) FROM table_name WHERE condition;   ساختار کلی تابع ()MAX     1 2 3 SELECT MAX(column_name) FROM table_name WHERE condition;   این بار به سراغ جدول جدیدی از پایگاه داده ی Northwind میرویم. تصویر زیر، قسمتی از جدول Products (به معنی «محصولات») در این پایگاه داده است:   قسمتی از جدول Products در پایگاه داده ی Northwind   مثال استفاده از تابع ()MIN و ()MAX   کد زیر، ارزان ترین محصول ما را پیدا می کند:   1 2 SELECT MIN(Price) AS SmallestPrice FROM Products;   برای اجرا...

ادامه مطلب