زبان 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 نیز برای تغییر کلید خارجی بکار می رود .
سلام حسین جان .وبلاگ جدید مبارک .صدسال به این سالها. چه عجب به ما سری زدی. خوشحال میشم بازم به ماسربزنی
خیلی ممنون
باز هم منتظر وبلاگ ها و حتی سایت های جدیدتر باشید .
حسین