آموزش زبان SQL

 

زبان SQL (Structure Query Language) یک زبان قدرتمند ارتباط با بانکهای اطلاعاتی و به ویژه بانکهای رابطه ای می باشد، در ابتدا چندین دستور SQL را که برای ایجاد، ویرایش، بازیابی و حذف بانکهای اطلاعاتی مورد استفاده قرار می گیرد

را بررسی می کنیم .

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

SELECT [predicate] {fields-name} From tables-name

نام فیلدهای گروه بندیGroup By شرطهایی برای فیلتر کردن داده ها Where

نام فیلدی که مرتب سازی بر اساس آن انجام می شود Order By

شرطهایی برای نمایش گروه های ایجاد شده Having

به جای عبارت predicate از مقادیر زیر می توان استفاده کرد :

All : بازیابی تمام رکوردها

Distinct : حذف رکوردهایی با داده های تکراری (البته در فیلدهای انتخاب شده)

Distinct Row : کل یک رکورد را با رکورد دیگر مقایسه می کند و اگر برابر باشند آنها را در نمایش حذف می کند .

Topen[percent] : بازیابی درصدی از رکوردهای جدول

پارامتر Group By برای گروه بندی رکوردهایی که مقادیر آنها در یک و یا چند فیلد یکسان باشد مورد استفاده قرار می گیرد و حداکثر می توان 10 گروه مشخص نمود .

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

پارامتر Having برای ایجاد شرط در نمایش رکوردهای گروه بندی شده بکار می رود.

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

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

SELECT [predicate] {fields-name} Into Table1-name

From Table2-name [Where …] [Group By …] [Order By …] [Having]

این دستور جدول Table2 را از فیلدهای ذکر شده جدول Table1 ایجاد کرده و رکوردهای بازیابی شده از جدول Table1 را در Table2 کپی می نماید .

همچنین از دستور SELECT برای الحاق جداول و تفریق دو جدول نیز استفاده

می شود که مثالهایی از این موارد را در زیر مشاهده می کنید :

SELECT * From s,p,sp Where s.s#=sp.s# and p.p#=sp.p#

الحاق بین سه جدول s , p , sp

(s# فیلد مشترک s,sp و p# فیلد مشترک p,sp می باشد .)

SELECT * From p Where p# Not In(SELECT p# From sp)

تفریق جداول p , sp

توابع پیش ساخته SQL

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

Sum : مجموع مقادیر یک فیلد

SELECT Sum(grade) From student

Avg : میانگین مقادیر یک فیلد

SELECT Avg(salary) From employee

Count : محاسبه تعداد کل رکوردها

SELECT Count(*) From class

Max , Min : کمترین و بیشترین مقدار یک فیلد

SELECT Max(average),Min(grade) From student

عملگر IN : مقایسه یک مقدار با فهرستی از مقادیر

SELECT * From s Where status IN('10' , '20' , '30')

این دستور رکوردهایی را که فیلد status آن مقادیر 10 یا 20 و یا 30 داشته باشد، بازیابی می کند .

عملگر Like : مقایسه یک مقدار با مقادیر مشابه

SELECT * From s Where s# Like '_2%'

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

ویرایش اطلاعات جدول با استفاده از ًُSQL

دستور Insert برای اضافه کردن رکورد به جدول استفاده می شود، رکورد جدید را به دو صورت می توان اضافه نمود که در مثالهای زیر مشاهده می کنید :

Insert Into student (Stno , Fname , Lname)

')علوی' , 'رضا Values ('15' , '

Insert Into study (Stno , Name , Grade)

SELECT Stno,Name,Grade From student

دستور دوم مقادیر شماره دانشجویی، نام و نمره تمام رکوردهای جدول student را به جدول study اضافه می کند .

دستور Update برای اصلاح مقادیر جدول به کار می رود که نحوه استفاده از آن را در زیر مشاهده می کنید :

Update Table-name Set field1=value1,field2=value2,…

[Where…]

دستور Delete برای حذف رکوردها از جدول استفاده می شود و نحوه استفاده از آن مطابق نمونه زیر می باشد :

Delete From Table-name [Where…]

دستور Create table به منظور ایجاد جدول مورد استفاده قرار می گیرد که نحوه بکار بردن آن را در مثال زیر مشاهده می کنید :

Create table sp (s# integer not null , p# char(6) not null,

QTY smallint , primary key(s# , p#),

foreign key(s#) references s,

foreign key(p#) references p)

primary key برای تعریف کلید اصلی می باشد که در این مثال ترکیبی از فیلدهای

s# و p# است و همچنین foreign key برای تعریف کلید خارجی می باشد .

و اما دستور Drop table نیز برای حذف جدول بکار میرود و نحوه استفاده از آن به شرح زیر می باشد :

Drop table Table-name

به منظور تغییر ساختار جداول نیز می توان از SQL استفاده کرد، برای اینکار باید از دستور Alter table استفاده نمود :

Alter table Table-name [Modify|Add|Drop] [field-name] [Type]

[not null|null] [Add|Drop] [Constraint Constraint-name]

مثال :

Alter table s Modify (s# char(5)) , Add (price float not null)

Modify برای تغییر خواص فیلدها ، Add برای اضافه کردن فیلد و Drop برای حذف فیلد می باشد . Constraint نیز برای تغییر کلید خارجی بکار می رود .

نظرات 1 + ارسال نظر
مرتضی سه‌شنبه 23 مرداد‌ماه سال 1386 ساعت 07:30 ق.ظ http://gvan.blogsky.com

سلام حسین جان .وبلاگ جدید مبارک .صدسال به این سالها. چه عجب به ما سری زدی. خوشحال میشم بازم به ماسربزنی

خیلی ممنون
باز هم منتظر وبلاگ ها و حتی سایت های جدیدتر باشید .

حسین

برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد