معرفی SQL در #C

معرفی SQL در #C
اجرای تقاضا بر روی بانک اطلاعاتی منجر به بازیابی داده ها از بانک اطلاعاتی میشود و این داده ها را می توان پردازش کرد. منظور از پردازش هر نوع تغییری مثل حذف و اضافه رکوردها و تغییر محتویات فیلد است. در زبان C# برای انجام تقاضا در بانک عملیاتی از دستورالعمل های SQL استفاده میشود که یک زبان ساخت یافته برای تقاضا است.
با استفاده از دستورات SQL میتوان جدولی ایجاد کرد، جدولی را ویرایش نمود یا تقاضایی را بر روی جدولی اعمال کرد. بعضی از دستورات SQL عبارتنداز:
دستور select برای ایجاد تقاضا
این دستور برای ایجاد تقاضای SQL به کار می رود و تمام رکوردها یا تعدادی از رکوردهای جدول را بازیابی می کند. این دستورات بصورت زیر بکار میروند:
SELECT [Predicate] {*|Table.*| [Table.] Field1 [As Alias1] [, Table.] Field [As Alias2] [, …] ] }
FROM Tableexpr [, …] [IN ExternalDatabase]
[Where [شرط]]
[Group by …]
[Order by …]
[Having …]
Predicate میتواند یکی از مقادیر زیر را بپذیرد:
All : این مقدار، تمام رکوردها ا بازیابی میکند.
Distinct : این مقدار رکوردهایی با داده های تکراری را حذف می کند.
DistinctRow : این مقدار، داده ها را در تمام رکوردهای تکراری حذف می کند. برای این کار کل یک رکورد با رکورد دیگر مقایسه می گردد، چنانچه این رکوردها برابر باشند، در نمایش حذف خواهند شد.
Topen[Precent] : این مقدار، تعدادی از رکوردها یا درصدی از رکوردها را بازیابی میکند.
پارامتر* تمام فیلدهای جدول یا جدولها را مشخص می کند.
پارامتر Table جدولی را تعیین میکند که فیلد باید از آن جدول انتخاب و بازیابی شوند.
پارامترهای Field1 ، Field2 و ... فیلدهایی را مشخص میکنند که باید داده ها از آنها بازیابی شوند.
پارامترهای Alias1 ،Alias2 و ... عباراتی را مشخص میکنند که باید درعنوان ستونها به جای نام فیلد چاپ شوند.
پارامتر Tableexpr جدول یا جدول هایی است که داده ها باید از آنها بازیابی شوند.
پارامتر ExternalDatabase نام بانک اطلاعاتی خارجی است که جدول یا جدول ها در آن قرار دارند. چنانچه ذکر نشود بانک اطلاعاتی فعلی منظور خواهد شد.
پارامتر Where رکوردهایی را بازیابی می کند که شرط خاصی دارند. در بخش شرط میتوان از یک عبارت منطقی استفاده کرد.
پارامتر Group By رکوردهایی را گروه بندی می کند که مقادیر آنها در یک فیلد یا چند فیلد یکسان باشد. حداکثر میتوان 10 گروه را مشخص کرد.
پارمتر Order By رکوردها را به ترتیب صعودی یا نزولی مرتب میکند.
پارامتر Having مشخص میکند که کدام یک از رکوردهای گروهبندی ظاهر شوند و با این پارامتر میتوان یک عبارت شرطی را در گروهبندی رکوردها تعریف کرد.
دستور Select برای ایجاد جدول
با این دستور می توان جدول جدیدی را از فیلدهای جدول موجود ایجاد کرد و بصورت زیر به کار میرود:
Select [Predicate] {* |Table.*| [table.] Field1 [As Alias1] [,…] }
Into TableName
From Tableexpr [,…] [In ExternalDatabase]
[Where شرط]
[Group By …]
[Order By …]
[Having]
پارامترهای این جدول مانند پارامترهای دستور Select است و پارامتر TableName نام جدولی است که باید ایجاد گردد.
دستور Insert…Into
این دستور یک یا چند رکورد را به جدول اضافه میکند این دستور به دو صورت به کارمیرود:
► اضافه کردن داده ها در یک جدول : میتوان داده هایی را با روش زیر به جدولی اضافه کرد:
Insert Into Table_Name(Field1, Field2, ..., Fieldn)
Values (Value1, Value2, …, Valuen);
پارامتر Table_Name نام جدولی را مشخص میکند که باید داده ها به آن اضافه شود. پارامترهای Field1 ، Field2 ،... و Fieldn فیلدهایی را مشخص میکنندکه داده ها در آنها قرار میگیرند و Value1، Value2، ... و Valuen مقادیری را مشخص میکنند که باید در فیلدهای جدول قرار گیرند.
► اضافه کردن داده ها از جدولی به جدول دیگر : با استفاده از دستور Insert میتوان رکوردهای یک جدول را به جدول دیگری اضافه نمود. این دستور بصورت زیر به کار میرود:
Insert Into Table_Name1(Field1, Field2, ..., Fieldn)
Select [* | (Field01, Field02, ..., Field0n) ]
From Table_Name01
[Where شرط]
در این کاربرد Table_Name1 نام جدولی را مشخص میکند که رکوردها باید به آن اضافه شوند، Field1،... و Fieldn نام فیلدهایی از جدول Table_Name1 هستند که باید مقادیر فیلدهای Field01، ... و Field0n از جدول Table_Name01 به آن اضافه گردند و Table_Name01 نام جدولی را تعیین میکند که باید رکوردها از آن به جدول Table_Name1 اضافه گردند.
دستور Update
این دستور برای اصلاح مقادیر جدول به کار میرود و بصورت زیر استفاده می شود:
Update Table_Name
Set Field1 = Value1, Field2 = Value2,…, Fieldn = Valuen
[Where شرط];
در این کاربرد Table_Name نام جدولی است که باید اطلاعات آن اصلاح شود و Field1، Field2 و... و Fieldn نام فیلدهایی را مشخص میکنند که مقادیر Value1، Value2، ... و Valuen باید در آنها قرار گیرند.
دستور Delete
این دستور تقاضایی را برای حذف رکوردهای جدول ایجاد میکند و بصورت زیر استفاده میشود:
Delete From Table_Name1
[Where Field1 [( Select Field2 From Table_Name2 ]
[Where شرط] ]);
در این کاربرد Table_Name1 نام جدولی است که باید رکوردهای آن حذف شوند. Field1 فیلدی از Table_Name1 است که باید با فیلد Field2 از جدول Table_Name2 مقایسه گردد.
دستور Create Table
این دستور برای ایجاد جدول به کار میرود و بصورت زیر استفاده میشود:
Create Table Table_Name
(Field1 type1 [Not Null | Null]
Field2 type2 [Not Null | Null]
…
Fieldn typen [Not Null | Null]
Primary key(Pre_Field) );
در این کاربرد، Table_Name نام جدولی است که باید ایجاد شود و Field1 ، Field2 ،... وFieldn نام فیلدهایی است که مشخص میکنند که باید ایجاد شوند و type1، type2،...و typen نوع فیلدهایی را مشخص میکنند. مقدار Not Null مشخص میکند که مقدار این فیلد نمیتواند خالی باشد و Pre_Field نام فیلد کلید اصلی است.
دستور Drop Table
این دستور برای حذف جدول به کار میرود:
Table_Name نام جدولی است که باید حذف شود.
دستور Alter Table
این دستور برای تغییر ساختار جدول موجود به کار میرود:
Alter Table Table_Name
[Modify | Add | Drop]
[Field Field_name ] [Type] [Nut Null | Null] [Add | Drop] [Constraint_Name];
Modify برای تغییر خواص یک فیلد، Add برای اضافه کردن فیلد، Drop برای حذف فیلد و Constraint برای تغییر کلید خارجی به کار میرود.