تبلیغات
با ما به روز باشید با آخرین مطالب و اخبار ونرم افزار و بازی - معرفی SQL و دستورات عمومی آن

با ما به روز باشید با آخرین مطالب و اخبار ونرم افزار و بازی

تماس mmashayekhi63@gmail.com
با سلام ... ورود شمارا به وبلاگ با ما به روز باشید با آخرین مطالب و اخبار ونرم افزار و بازی خوش آمد میگویم ... برای مشاهده کامل مطالب از آرشیو مطالب وبلاگ استفاده کنید.

معرفی SQL و دستورات عمومی آن

معرفی SQL و دستورات عمومی آن
توسط
SQL میتوان درون یك بانك اطلاعاتی پرس و جو كرده (Query) و نتیجه را برگرداند. بانك اطلاعاتی شامل آبجكتی به نام جدول (Table) میباشد.
ركوردها در بانكهای اطلاعات در جداول ذخیره میگردند.
جدول شامل سطر و ستون میباشند.
در زیر میتوان یك جدول را مشاهده كرد :
Last Name First Name Address City

معرفی SQL و دستورات عمومی آن

معرفی SQL و دستورات عمومی آن
توسط
SQL میتوان درون یك بانك اطلاعاتی پرس و جو كرده (Query) و نتیجه را برگرداند. بانك اطلاعاتی شامل آبجكتی به نام جدول (Table) میباشد.
ركوردها در بانكهای اطلاعات در جداول ذخیره میگردند.
جدول شامل سطر و ستون میباشند.
در زیر میتوان یك جدول را مشاهده كرد :
Last Name First Name Address City
مثال:
Select Last name from persons
پر كاربرد ترین دستورات
SQL شامل موارد زیر است :
SELECT استخراج یك داده از بانك اطلاعاتی
UPDATE به روز رسانی یك داده درون بانك
DELETE پاك كردن یك داده از بانك اطلاعاتی
INSERT وارد كردن یك داده جدید به بانك اطلاعاتی
همچنین در
SQL میتوان داده هایی نیز تعریف كرد :
CREATE TABLE ایجاد یك جدول جدید
ALTER TABLE تغییر دادن یك جدول
DROP TABLE پاك كردن یك جدول
CREATE INDEX ایجاد یك اندیس
(كلید جستجو)
DROP INDEX پاك كردن یك اندیس

SQL و Active Server Pages - ASP :
SQL یكی از قسمتهای خیلی مهم ASP میباشد زیرا در ASP برای كار با بانكهای اطلاعاتی از SQL استفاده میشود. و توسط تكنولوژی ADO میتوان از SQL در ASP استفاده كرد.
دستور
SELECT :
SELECT column-name(s) FROM table-name
مثال :
نام جدول
Persons است
Last Name First Name Address City
Hasani Ali Esfahan


دستور
Select همراه با شرط

SELECT column FROM table WHERE column condition value
عملگر ها در
SQL:
عملگر مفهوم
= معادل بودن
<> برابر نبودن
> بزرگتر


دستور
DISTINCT (جداسازی) :

SELECT DISTINCT column-name(s) FROM table-name
مثال :
نام جدول
Order است Company Order Number
sega 3412

---------------------------------------------------------------
دستور
Order By :

برای مرتب كردن سطرها
نام جدول
Order است Company Order Number
sega 3412
ABS Shop 5678
w3s 3212
W3S 6778
مثال :
SELECT Company , OrderNumber
دستور
Insert :

INSERT INTO Table-Name ( Column1 , Column2) VALUES
مثال :
DELETE FROM Person WHERE Lastname=’hasani’ نام جدول Persons است last name First name Adress city
alian hasani NO 40 Esfahan
Hasani Ali No 15 Tehran
نتیجه :
last name First name Adress city
alian hasani NO 40 Esfahan
SEGA
W3S
Trio


------------------------------------------------------------------------
دسترسی به یك پایگاه داده از یك صفحه
ASP :
١-ایجاد یك
ADO Connection به یك پایگاه داده
2-باز كردن
Connection پایگاه داده
3-ایجاد یك
ADO Record Set 4-باز كردن
Record set 5-گرفتن داده هایی كه نیاز داریم از
Record Set 6-بستن
Record Set 7-بستن
Connection

-------------------------------------------------------------------------
1-ایجاد یك
ADO Connection به یك پایگاه داده

١-1- روش
DSN-LESS C:/InetPub/wwwroot/nor.mdb مسیر فایل نمونه
< %
var conn=Server. CreateObject ( “ADODB.
Connection”) Conn. Provider=” Microsoft . Jet . OLEDB.4.0” Conn.Open
(“
C:/InetPub/wwwroot/nor.mdb”) % >


-------------------------------------------------------------------------
2- روش
ODBC

1-2- روش ODBC : در این روش ابتدا باید یك ODBD Connection به Data Base ایجاد كنیم و سپس از طریق ADO به فایل DSN به طریق زیر Connect كنیم.
< %
var conn=Server. CreateObject

--------------------------------------------------------------------------

ایجاد یك
ODBC Connection به پایگاه داده MS Access :

١- وارد شدن به
ODBC از Control Panel
2- انتخاب

3- System DSN كلیك كردن روی دكمه ADD
4- انتخاب
Microsoft Access Driver و كلیك كردن روی دكمه
5- Finish  در مرحله بعد كلیك كردن بر روی دكمه Select و تعیین محل پایگاه داده
6- دادن یك نام در قسمت
7-
Data Source Name كلیك كردن روی دكمه OK برای اینكه قادر باشیم اطلاعات یك پایگاه داده را بخوانیم اطلاعات باید ابتدا در Record Set ، Load شوند. بنابر این بعد از ساختن یك Connection باید یك Record Set ایجاد كنیم.
مثال :
نام
Data Base = nor.mdb
نام جدول =
Customer C:/Inetpub/wwwroot/nor.mdb Data Base مسیر فایل < % conn= Server. CreateObject ( “ADODB.Connection”)
ایجاد
Connection
conn.Provider=”Micrisoft.Jet.OLEDB.4.0” conn . Open (“C:/WebData/ nor.mdb”) Connection بازكردن rs=Server. CreateObject (“ADODB.Recordset”)
Record Set ایجاد rs. Open(“Customer”, conn) Record Set بازكردن % > در این مثال تمام محتویات جدول Customer به rs ریخته میشود.
حال میخواهیم در انتخاب محتویاتی از
Customer كه میخواهند به rs انتقال داده شوند از دستور SQL استفاده كنیم.

-------------------------------------------------------------------------

ساختن یك
Connection و Record Set و به كار بردن SQL :
< %
set conn=Server. CreateObject (“ADODB .Connection
conn. Provider=”Microsoft.jet.OLEDB.4.0” conn.
Open ( “C:/Inetpub/wwwroot/nor.mdb”) (Record Se


-------------------------------------------------------------------------

گرفتن داده هایی كه نیاز داریم از
Record Set :

بعد از اینكه
Record Set را باز كردیم میتوانیم به داده هایی كه نیاز داریم دسترسی داشته باشیم.
مثال :
دسترسی به فیلد
name از جدول rs rs(name


--------------------------------------------------------------------------

چاپ داده ها :
مثال : چاپ فیلد
name از جدول rs Response.write(rs(n

بستن
Recordset و Connection :

 - برای بستن Recordset
rs.close  () - برای بستن Connection 

 

خلاصه سازی داده ها

 

هنگامی که دو جدول در یک پیوند یک به چند سهیم هستند. وسیله محرک Query مقادیری از سطر را از یک طرف برای ارتباط دادن سطرها در طرفهای دیگری تکرار می کند. بعضی مواقع آن دقیقاً چیزی است که شما می خواهید، اما اغلب شما می خواهید تکرار کردن سطرها را از چندین طریق دسته بندی یا خلاصه سازید. در این درس، ما به دو روش برای انجام آن که عبارتند از کلید واژه DISTINCT و شرط GROUP BY نگاه خواهیم کرد.

 

شناختن SELECT DISTINCT

یکی از اهداف طرح پایگاه داده ارتباطی برداشتن وابستگی داده ها می باشد. اما بیشتر پایگاه داده به طور ضروری مقادیر واقعی در چندین سطر را شامل خواهد شد. یک جدولی که شامل اطلاعات آدرس مشتری می باشد برای مثال احتمالاً کد ایالتی و کشوری برای چندین سطر خواهد داشت که نه اشتباه و نه تکراری می باشد. نظر به اینکه هر کد ایالتی نسبتی از یک مشتری می باشد. به همین نحو یک جدول از چندین جهت از یک ارتباط یک به چند ممکن است هر مقدار کلید خارجی معلوم که چندین بار تکرار شده را داشته باشد. آن برای یک ارتباط یکپارچه از پایگاه داده لازم می باشد. اگر چه این تکرار می تواند بعضی مواقع نتایج Query را نامطلوب سازد. یک جدول مشتری با 1000 سطر با 90 درصد مشتری از کالیفرنیا، Query زیر کد CA را 9000 بار خواهد باز گرداند که اصلاً یک نتیجه مفیدی نمی باشد.

SELECT State From Customer

کلید واژه Distinct در این موقعیت شما را کمک می کند. Distinct که درست بعد از SELECT قرار می گیرد به SQL Server دستور داده که سطرهایی چندگانه در قرارگیری نتایج را حذف نماید. بنابراین Query زیر هر کد ایالتی را فقط یک بار باز می گرداند به طور وضوح لیستی که شما جستجو می کنید.

SELECT DISTINCT State From Customer

راهنمایی: همتای کلید واژه Distinct ، All می باشد که SQL Server را برای بازگرداندن همه سطرها آگاه می سازد خواه آن واحد باشد یا خیر. از موقعی که این یک عملکرد پیش فرض از یک عبارت SELECT می باشد All به طور معمول استفاده نمی گردد. اما شما ممکن تصمیم بگیرید به در برداشتن آن اگر ساختار دستور Query را بیشتر قابل فهم سازید.

 

استفاده کردن از SELECT DISTINCT

کلید واژه Distinct می تواند در عبارت SQL از Query Distinct یا به وسیله تنظیمات Properties از Query مشخص گردد.

 

ایجاد کردن Distinct Query با استفاده از قاب دیاگرام

1- Query Designer را برای جدول Oils به وسیله کلیک راست کردن نام جدول در قاب Details باز کرده روی جدول Open رفته و همه سطرهای بازگشتی را انتخاب می کنیم.

2- قاب دیاگرام را به وسیله کلیک کردن روی دکمه قاب دیاگرام در نوار ابزار Query Designer نشان می دهیم.

3- دکمه Add Table را کلیک می کنیم. Query Designer کادر محاوره ای Add Table را نشان می دهد.

4- Plantparts را در لیست جدول انتخاب می کنیم و سپس Add را کلیک می کنیم. Query Designer جدول را به Query اضافه می کند.

5- Close را برای بستن کادر محاوره ای کلیک می کنیم.

6- دکمه قاب SQL را در نوار ابزار Query Designer کلیک می کنیم. قاب SQL ، Query Designer را نشان می دهد.

7- علامت * بعد از کلید واژه SELECT را حذف می کنیم.

 

8- دکمه قاب SQL را در نوار ابزار Query Designer کلیک می کنیم (OK را اگر Query Designer یک متن خطا درباره ساختار دستور عبارت SELECT نشان می دهد کلیک می کنیم). Query Designer قاب SQL را پنهان می سازد.

مهم: زمانی که شما Query Designer را باز می کنید حالت SQL پیش فرض معمولاً SELECT* می باشد. ستون ویژه در قاب دیاگرام به سبب اینکه آنها به لیست ستون اضافه می شوند انتخاب می گردند. مایکروسافت این را یک ویژگی در نظر می گیرد.

9- در قاب دیاگرام فقط ستون Plantpart را از جدول Plantparts برای نشان دادن انتخاب می کنیم.

 

10- دکمه Run را برای اجرای مجدد Query کلیک می کنیم. Query Designer هر مقدار Plantpart را چندین بار لیست می کند.

 

11- در یک ناحیه خالی از قاب دیاگرام کلیک راست کرده و Properties را انتخاب می کنیم. Query Designer کادر محاوره ای Properties را نشان می دهد.

 

12- گزینه مقادیر Distinct را انتخاب می کنیم.

13- Close را برای بستن کادر محاوره ای کلیک می کنیم.

14- دکمه Run را برای اجرای مجدد Query کلیک می کنیم. Query Designer هر مقدار را فقط یک بار نشان می دهد.

 

ایجاد کردن یک SELECT DISTINCT با استفاده از قاب SQL

1- قاب دیاگرام را پنهان ساخته و قاب SQL را نشان می دهیم.

2- عبارت SELECT موجود را با متن زیر جایگزین می کنیم.

SELECT DISTINCT Plant Types Plant Type

FROM Oils INNER Join

Plant Types ON Oils Plant Type ID=Plant Types Plant Type ID

 

3- دکمه Run را برای اجرا مجدد Query کلیک می کنیم. Query Designer مقدار PlantType متمایز که به وسیله جدول Oils بازگشت شده را نشان می دهد.

 

 

شناختن GROUP BY

کلید واژه Distinct امر می کند. SQL Server را به بازگرداندن سطرهای واحد نظر به اینکه شرط GROUP BY ، SQL Server را به ترکیب سطرها با مقادیر یکسان در ستون یا ستونهای مشخص شده در شرط در داخل سطر تکی امر می کند.

مهم: هر ستونی که در شرط GROUP BY شامل می باشد باید در خروجی Query شامل گردد.

شرط GROUP BY اغلب با یک aggregate Function استفاده می گردد. یک aggregate Function محاسبات در مجموعه از مقادیر را به انجام می رساند و یک نتیجه تک مقداری را باز می گرداند. رایج ترین گزینه های به هم پیوسته استفاده شده در پرس و جوهایGROUP BY ، MIN می باشد که کوچکترین مقادیر را در مجموعه باز می گرداند. MAX که بزرگترین مقادیر در مجموعه را باز می گرداند و COUNT که تعدادی از مقادیر را در یک مجموعه باز می گرداند.

 

استفاده کردن از GROUP BY

شرط GROUP BY می تواند مشخص شود با استفاده کردن از هر یک از قابها در Query Designer ، اما قابهای SQL و Grid بیشترین کنترل را فراهم می سازد.

 

ایجاد کردن یک GROUP BY Query با استفاده از قاب Grid

1- قاب SQL را پنهان ساخته و قاب Grid را نشان می دهیم.

 

2- ستون OilName را برای Query اضافه می کنیم.

 

3- دکمه Group By را در نوار ابزار Query Designer کلیک می کنیم. Query Designer یک ستون Group By برای شبکه اضافه می کند و هر دوی مقادیر را برای Group By قرار می دهد.

 

4- سل Group By را برای تغییر دادن سطر OilName به Count تغییر می دهیم.

 

5- دکمه Run را برای اجرا مجدد Query کلیک می کنیم. Query Designer تعدادی از Oils را برای هر PlantType نشان می دهد.

 

 

ایجاد کردن یک Group By Query با استفاده از قاب SQL

1- قاب شبکه را پنهان ساخته و قاب SQL را نشان می دهیم.

 

2- عبارت SELECT موجود را با متن زیر جایگزین می کنیم.

SELECT Plant parts Plant part Count (Oils Oil Name) As Number Of Oils

FROM Oils INNER Join

Plant parts ON Oils Plant part ID=Plant parts Plant part ID

GROUP BY Plant parts Plant part

 

3- دکمه Run را برای اجرای مجدد Query کلیک می کنیم. Query Designer مقدار oils برای هر Plantpart نشان می دهد.

 

استفاده کردن از شرط HAVING

شرط Having سطرهای بازگردانده شده به وسیله شرط GROUP BY را از همان راهی که یک شرط Where سطرهای بازگردانده شده را به وسیله شرط SELECT محدود می سازد. هر دو شرط Where و Having می تواند در یک عبارت SELECT شامل شود که شرط Where قبل از گروه بندی علمیات و شرط Having بعد از آن به کار برده می شود. ساختار دستور شرط Having همانند شرط Where می باشد به استثنای اینکه شرط Having می تواند شامل یکی از توابعهای به هم پیوسته باشد که در لیست ستونها از شرط SELECT قرار می گیرد. اگر چه شما باید توابع به هم پیوسته را تکرار کنید. برای مثال شرط Having که در حالت زیر استفاده شده صحیح می باشد.

SELECT Plant parts Plant part Count (Oils Oil Name) As Number Of Oils

FROM Oils INNER Join

Plant parts ON Oils Plant part ID=Plant Parts Plant part ID

GROUP BY Plant parts Plant part

HAVING Count (Oils Oil Name)>3

اگر چه شما نمی توانید از اسم مستعار برای تابع Count در شرط Having استفاده کنید. بنابراین شرط Having زیر درست نخواهد بود.

HAVING Number Of Oils>3

 

ایجاد کردن یک Query با استفاده از HAVING در قاب Grid

1- قاب SQL را پنهان ساخته و قاب Grid را نمایش می دهیم.

 

2- 5Add> را برای سل مورد نظر از ستون oil Name قرار می دهیم.

 

3- دکمه Run در نوار ابزار Query Designer را برای اجرای مجدد Query کلیک می کنیم.

 

 

ایجاد کردن یک Query با استفاده از HAVING در قاب SQL

1- قاب Grid را پنهان ساخته و قاب SQL را نشان می دهیم.

 

2- شرط Having را برای HAVING (Count (Oils Oil Name)<5) تغییر می دهیم.

 

3- دکمه Run در نوار ابزار Query Designer را برای اجرای مجدد Query کلیک می کنیم. Query Designer فقط آن Plantparts که Oils اشتراکی کمتر از 5 دارد را نشان می دهد.

 

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

در فصل گذشته ما بیشترین فرمهای مقدماتی از حالت SELECT را مرور کرده و آنها را برای انتخاب ستونهای یک جدول استفاده کردیم. اما بیشتر مواقع شما بازگشت به سطرها در جدول پس زمینه یا نمایش در یک قاعده خاص و فقط بازگشت به یک زیر مجموعه از آنها را خواهید خواست. شرطهای ORDER BY و WHERE در این درس بررسی شده و اجرای آن برای شما فراهم شود.

شرط ORDER BY

شرط The ORDER BY یک ترکیب گزینه ای از یک حالت SELECT می باشد. آن به شما برای مشخص کردن ترتیب در آن سطرهایی که بازگشت خواهند کرد اجازه می دهد. ستونهای چندگانه می توانند مشخص شوند و سطرها می توانند به صورت ترتیب افزایشی یا کاهشی باز گردانده شوند.

 

مرتب سازی سطرها

ساده ترین فرم در شرط ORDER BY فراهم می سازد یک نام ستون تکی که برای مرتب کردن سطرها که به وسیله Query باز گردانده می شود استفاده خواهد شد.

 

مرتب کردن سطرها با استفاده از قاب Grid

1- Query Designer را برای جدول Oils به وسیله کلیک راست کردن نام آن در قاب Details باز می کنیم. به زیر منوی جدول Open رفته و همه ستونهای بازگشتی را انتخاب می کنیم. SQL Server ، Query Designer را برای جدول باز می کند.

1-قاب Grid را به وسیله کلیک راست کردن دکمه قاب Grid در نوار ابزار Query Designer نشان می دهیم.

 

3-فقط ستونهای OilID ، Oil Name ، LatinName را برای نمایش انتخاب می کنیم. Query Designer محتویات قاب Results را که کمرنگ شده برای نشان دادن اینکه با مشخصات Query زیاد مربوط نمی باشد نشان می دهد.

 

4-دکمه Run را در نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer فقط ستونهای مشخص شده را نشان می دهد.

 

5-نوع Sort فیلد Oil Name را صعودی قرار می دهیم.

 

6-دکمه Run را در نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer سطرهای مرتب شده با Oil Name را نشان می دهد.

 

مرتب سازی سطرها با استفاده از قاب SQL

1-قاب Grid را پنهان ساخته و قاب SQL را به وسیله کلیک کردن دکمه ها روی نوار ابزار Query Designer نشان می دهیم.

 

2- DESC را بعد از شرط ORDER BY OilName اضافه می کنیم.

 

راهنمایی: کلید واژه DESCبه SQL Server برگرداندن سطرها به ترتیب نزولی را ابراز می کند. کلید واژه ASC که گزینه ای می باشد سطرها را به ترتیب صعودی برمی گرداند.

3-دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer نتایح را که با OilName ذخیره شده به صورت نزولی نشان می دهد.

 


 




[ شنبه 5 آذر 1390 ] [ 10:47 ب.ظ ] [ FARDIN M ]