/ در آموزش اس کیوال, اشتراک رایگان, پایگاه داده ها / توسط
آخرین زمان ویرایش:

آموزش جامع اس کیو ال سرور قسمت ۶

جهت مطالعه آموزش با ادامه مطلب مراجعه فرمائید.

دستور Insert در اسکیوال

دستور Insert در sql برای وارد کردن و ایجاد یک رکورد جدید در جدول استفاده می شود .
دو روش استفاده از این دستور وجود دارد :

 کد: 

INSERT INTO table_name VALUES (value1, value2, value3,…)

کد:


INSERT INTO table_name (column1, column2, column3,…) VALUES (value1, value2, value3,…)

نکته : می توان در دستور Insert در اسکیوال تعیین کرد که مقادیر مورد نظر به ترتیب به کدام ستون های جدول وارد شوند . برای این منظور ابتدا نام ستون های مورد نظر را به ترتیب جلوی نام جدول در یک پرانتز وارد کرده و با کاما از هم جدا می کنیم . سپس مقادیر متناظر را به همان ترتیب پس از واژه Vaues در پرانتز وارد می کنیم .

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

 کد:


Insert into Student ( Name , Family ) Values ( “Mohammad” , “Daryabiyan” )

در مثال بالا نام Mohammad در فیلد Name و نام Daryabiyan در فیلد Family میرود. بقیه ی فیلد ها در صورت تعیین کردن مقدار پیش فرض آن مقدار را میگیرند و در صورت تعیین نکردن آن ، مقدار خالی یا Null میگیرند.

 دستور Update در sql

دستور Update در اسکیوال برای تغییر اطلاعات موجود در یک فیلد و جایگزینی آن با یک مقدار جدید به کار می رود . ویرایش اطلاعات در بانک اس کیوال از جمله مهمترین اعمال هست که با استفاده از دستور Update امکان پذیر می باشد.

 کد:


UPDATE table_name SET column1=value, column2=value2,… WHERE some_column=some_value

برای ویرایش کردن بیش از یک فیلد به روش زیر عمل میکنیم:

کد:


Update Person Set Name = ” peyman” , Family = ” asadi” , id-number=” 11 ” Where ID =3222

برای ویرایش یک فیلد دستور زیر را مینویسیم :

کد:


Update Person Set Name =” amin ” Where Name = ” barzegar “

دستور Delete در اسکیوال

دستور Delete در sql برای حذف اطلاعات یک رکورد در جدول بانک اسکیوال استفاده می شود. از دستور delete باید با دقت استفاده شود زیرا امکان بازگرداندن رکورد های حذف شده به این راحتی ها نیست !

 کد:


DELETE FROM table_name WHERE some_column=some_value

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

کد:


Delete From Person Where ID = “16 “

دستور Delete * 

این امکان وجود دارد که با دستور Delete * بدون حذف یک جدول ، کلیه رکوردهای درون آن را پاک کرد.

 

کد:

Delete From Person

دستور TOP در sql

دستور TOP در دستور select اسکیوال ، تعداد رکورهای خروجی را مشخص میکند.دستور top در sql برای جداولی که بالای هزاران رکورد دارند بسیار مفید میباشد. خروجی با تعداد رکوردهای بالا بر روی کارایی برنامه ی مرتبط با sql ممکن است تاثیر بگذارد.

مثال : با مثال زیر ما ۲ رکورد از جدول را انتخاب می کنیم :

کد:

SELECT TOP 2 * FROM Persons

مثال : با مثال زیر ما میتوانیم ۵۰ درصد از رکوردها در جدول بالا را انتخاب کنیم :

کد:

SELECT TOP 50 PERCENT * FROM Persons

عملگر Like در SQL

عملگر Like در شرطهای sql ، برای الگوی خاص جستجو مورد استفاده قرار میگیرد.
ساختار دستور like در اسکیوال به صورت زیر است:

مثال : دستور زیر افرادی که شهر آنها با حرف s شروع میشوند را انتخاب مبکند.

کد:


SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern

کد:


SELECT * FROM Persons WHERE City LIKE ‘s%’

 مثال : دستور زیر افرادی که شهر آنها به حرف s ختم میشوند را انتخاب مبکند.

مثال : دستور زیر افرادی که شهر آنهاشامل حرف st میباشد را انتخاب مبکند.

کد:


SELECT * FROM Persons WHERE City LIKE ‘%s’

مثال : دستور زیر افرادی که شهر آنهاشامل حرف st نمیباشد را انتخاب مبکند.

کد:

SELECT * FROM Persons WHERE City LIKE ‘%st%’

 

کد:

SELECT * FROM Persons WHERE City NOT LIKE ‘%st%’

علامت های شرطی در Like

یادآوری از دستور Like :  همانطور که در آموزشات قبلی در مورد دستور like در sql گفته شد ، هنگام کارکردن با رشته ها همیشه خواهان مطابقت کامل رشته ها نیستیم ، بلکه بخشی از رشته یا الگوی خاصی از آن بیشتر موردنظر است. در این هنگام می توان از دستور LIKE در شرط های اسکیوال ، به جای علامت = استفاده کرد.در دستور like ، دو کاراکتر % و _ به ترتیب به معنی چند کاراکتر و یک کاراکتر را برای تطابق می توان بکار برد.

در آموزش sql این علامت ها کاربرد بسیاری دارند.

مثال : اسامی کلیه مشتریانی که آدرس آنها شامل کلمه Main است بطوریکه قبل Main هر چند کاراکتری که خواست بیاید ولی بعد از Main فقط یک کاراکتر بیاید را پیدا کن :

کد:

SELECT customer_name FROM customer WHERE customer_street LIKE ‘%Main_’;

عملگر In در sql

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

ساختار این دستور به صورت زیر است :

کد:

SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,…)

مثال : از جدول Persons مشخصات افرادی را بدهید که نام خانوادگی آنها اسدی یا دریابیان است :

کد:

Select * From Persons Where Family IN ( “اسدی” , “دریابیان” );

عملگر BETWEEN در اسکیوال

عملگر BETWEEN در sql برای انتخاب اطلاعات در یک محدوده خاص ، در بین دو مقدار تعیین شده استفاده می شود . این مقادیر می تواند از نوع عددی ، متن یا تاریخ باشد .

نکته مهم در مورد دستور Between در sql اینست که باید نوع مدنظر با نوع داده ای فیلد های استفاده شده در دستور یکسان باشد .

نکته ی دیگر در مورد Between در مورد داده های متنی ، ترتیب قرار گیری حروف الفبا مد نظر برنامه است .

ساختار این دستور به صورت زیر است :

 

کد:

SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2

مثال :  برای نمایش اطلاعات درون محدوده تعیین شده به صورت زیر عمل میکنیم :

 

کد:

SELECT * FROM Persons WHERE LastName BETWEEN ‘Hansen’ AND ‘Pettersen’

مثال : برای نمایش اطلاعات خارج از محدوده تعیین شده از یک عملگر NOT قبل از دستور Between … And استفاده می شود .

کد:

SELECT * FROM Persons WHERE LastName NOT BETWEEN ‘Hansen’ AND ‘Pettersen’

aminas در اس کیو ال

زمانی که با دستور select در sql یک کوئری اجرا کرده ایم نام یا عنوانی که در بالای هر ستون در خروجی نمایش داده می شود ،

همان نام فیلد مربوط به داده در جدول اصلی پایگاه داده است .

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

از ویژگی aminas برای در نظر گرفتن یک نام مستعار و مجازی برای قرار گرفتن در بخش عنوان هر ستون در خروجی دستور Select در اسکیوال استفاده می شود .

تعریف aminas  برای جداول sql : کلمه کلیدی as در اسکیوال این کار را انجام می دهد.

 

کد:

SELECT column_name(s) FROM table_name AS aminas_name

تعریف aminas  برای ستونها در sql :

کد:


SELECT column_name AS aminas_name FROM table_name

مثال:

کد:


Select Name As نام , Family As خانوادگی From Persons Where id >15 Order By Family ;

می توان بر روی مقادیر ستون هایی که داده عددی دارند ، عملیات ریاضی ( مثل ضرب ، تقسیم و … ) انجام داده و سپس نتایج محاسبات را در یک ستون جدید با عنوان دلخواه تعیین شده توسط ویژگی aminas در خروجی دستور Select نمایش داد .در این حالت ستون یا ستون های به جدول خروجی اضافه می شود .

مثال : مثال زیر کاربردی از این مورد را در دستور select نشان میدهد :

کد:

Select Name+Family As “نام و نام خانوادگی” From Persons Where id >15 Order By Family ;

دستورهای پیوند ( Join ) در SQL

از مجموعه دستورات Join در اسکیوال ، برای پیوند جدول ها در پایگاه داده ها استفاده می شود. از دستور های Join ، برای ارتباط بین چندین جدول که با یکدیگر ارتباط دارند ، درواقع کلید خارجی برای آنها تعریف شده است، میتوان استفاده کرد.
تفاوتهای بین دستورات پیوند ( JOIN ) در SQL

دستور INNER JOIN : خروجی  دستور JOIN یا دستور INNER JOIN از بین سطرهایی انتخاب میشود که حداقل یک رابطه در هر دو جدول وجود داشته باشد.

دستور LEFT JOIN : خروجی  دستور LEFT JOIN از از جدول سمت چپ انتخاب میشود، حتی اگر هیچ رابطه ای با  جدول سمت راست نداشته باشد.

دستور RIGHT JOIN : خروجی دستور RIGHT JOIN  از از جدول سمت راست انتخاب میشود، حتی اگر هیچ رابطه ای با  جدول چپ نداشته باشد.

دستور FULL JOIN : خروجی  دستور FULL JOIN از بین سطرهایی انتخاب میشود که  یک رابطه در یکی از جداول بایستی  وجود داشته باشد.

تفاوت Join و InnerJoin

تفاوت Join و InnerJoin در performance آنها می باشد. نتیجه ی اجرای هر دوی آنها یکسان است اما دستور InnerJoin دارای Prformance بالاتری می باشد و به همین دلیل توصیه می شود که از دستور InnerJoin استفاده شود.در دستورات زیر یک به یک این پیوند ها در اسکیوال با مثال توضیح داده شده اند :

  •  دستور inner join در sql
  •  دستور left join در sql
  •  دستور right join در sql
  •  دستور full join در sql

دستور INNER JOIN در sql

خروجی دستور INNER JOIN در اس کیو ال از بین سطرهایی انتخاب میشود که حداقل یک رابطه در هر دو جدول وجود داشته باشد.تفاوت دستور Join و دستور InnerJoin در performance آنها می باشد. نتیجه ی اجرای هر دوی آنها یکسان است اما دستور InnerJoin دارای Prformance و کارایی بالاتری می باشد و به همین دلیل توصیه می شود که از دستور InnerJoin استفاده شود.

شکل کلی این دستور به صورت زیر است که در آن کلمه ی کلیدی ON فیلد رابطه رو در دو جدول مشخص میکند :

 

کد:

SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name

در دستور INNER JOIN در اسکیوال بایستی حداقل یک رابطه در هر دو جدول وجود داشته باشد که بعد از کلمه کلیدی On می آید.

نکته مهم : مهمترین دستور ها در آموزش sql ، دستور inner join می باشد که یادگیری کامل دستور join میتواند تفاوت اصلی آموزش حرفه ای اسکیوال باشد.

مثال : اگر رکوردی (خروجی) که در جدول “Persons” وجود دارد هیچ تطابقی با خروجی های جدول “Orders” نداشته باشد ، این رکوردها در خروجی این دستور sql نمایش داده نمیشوند.

کد:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons INNER JOIN Orders ON Persons.P_Id=Orders.P_Id ORDER BY Persons.LastName

نوشته های مشابه

آموزش جامع اس کیو ال سرور قسمت ۵

جهت مطالعه آموزش با ادامه مطلب مراجعه فرمائید. (بیشتر…)

آموزش جامع اس کیو ال سرور قسمت ۷

جهت مطالعه آموزش با ادامه مطلب مراجعه فرمائید. (بیشتر…)

 کانال تلگرام داده باران شارژ آنلاین

نظری بدهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *