-
March 30th, 2016, 03:14
#1
آموزش SQL Server از صفر تا صد
با سلام در این پست قصد دارم SQL Server را از صفر تا صد آموزش بدم. اگر سوالی داشتین بپرسین. تا جایی که سوادم برسه در خدمتم.
ابتدا برنامه Microsoft SQL Server Management Studio را اجرا می نماییم و با یکی از روشهای اتصال به Server وصل می شویم. کلیک بر روی Connect.
SQL Server داراي چهار پايگاه داده سيستمي tempdb, model, master و msdb و يك يا چند پايگاه داده مربوط به كاربران است. برخي از سازمان ها فقط داراي يك پايگاه داده كاربر هستند كه شامل تمام داده هاي آنها است. برخي از سازمان ها نيز داراي پايگاه هاي داده مختلفي براي هر گروه در سازمان هستند. به عنوان مثال، يك سازمان مي تواند يك پايگاه داده براي فروش، يك پايگاه داده براي حقوق و يك پايگاه داده براي مديريت اسناد داشته باشد.
لازم نيست كه چند نسخه از SQL Server را اجرا كنيد تا كاربران بتوانند به پايگاه هاي داده يك سرويس دهنده دسترسي يابند. SQL Server قادر به جوابگويي به هزاران كاربر در پايگاه هاي داده مختلف به طور همزمان بر روي يك سرويس دهنده مي باشد. SQL Server تمام پايگاه هاي داده موجود در سرويس دهنده را براي تمام كاربراني كه به سرويس دهنده متصل هستند، با توجه به جوازهايشان قابل دسترسي مي سازد.
هنگام اتصال به SQL Server ، اتصال شما با يك پايگاه داده مشخص روي سرويس دهنده در ارتباط مي باشد. اين پايگاه داده، پايگاه دادة جاري ناميده مي شود. شما معمولاً به پايگاه داده اي كه به عنوان پيش فرض توسط مدير سيستم تعريف شده است متصل هستيد مگر اين كه با استفاده از گزينه هاي اتصال API هاي پايگاه داده، پايگاه داده ديگري را مشخص كنيد.
اجزاء منطقي پايگاه داده
داده هاي درون يك پايگاه داده SQL Server در چند شيء مختلف ذخيره شده اند. اين شيء ها پس از اتصال به پايگاه داده، براي كاربر قابل رؤيت هستند.
در SQL Server اجزاء زير به صورت شيء تعريف شده اند :
محدوديت ها جدول ها
پيش فرض ها Trigger ها
شاخص ها نوع هاي داده اي تعريف شده توسط كاربر
كليدها ديدها
رويه هاي ذخيره شده
نوع هاي داده اي و ساختار جدول
تمام داده هاي پايگاه داده SQL Server در شيء هايي به نام جدول قرار دارند. هر جدول دلالت بر شيء اي دارد كه براي كاربر با معنا مي باشد. به عنوان مثال، در يك پايگاه داده مدرسه، جدول ها مي توانند جدول كلاس، جدول معلم و جدول دانش آموز باشد.
جدول هاي SQL Server داراي دو جزء اساسي هستند :
- • ستون : نشان دهنده بعضي از صفت هاي شيء اي است كه توسط جدول مدل سازي شده است.
- • سطر : نشان دهنده نمونه اي از يك شيء است كه توسط جدول مدل سازي شده است.
ميدان، مجموعه اي از تمام مقادير مجاز در يك ستون است. به عنوان مثال، ميدان رنگ قطعه هم شامل نوع داده اي مانند char(6) و هم شامل رشته هاي كاراكتري مجاز در ستون مانند Green, Blue, Red و غيره است.
جدول ها، كنترل هاي متعددي دارند كه صحت داده ها را تضمين مي كنند. به عنوان مثال، مي توانيد پايگاه داده اي به نام MyCoDb براي مديريت داده هاي شركت خود ايجاد كنيد. مي توانيد جدولي به نام Employees براي ذخيره اطلاعات كارمندان ايجاد كنيد. جدول مي تواند ستون هايي به نام ؟؟؟ داشته باشد. مي توانيد رويه اي به نام ؟؟ ايجاد كنيد تا مقادير داده اي مربوط به يك كارمند جديد را دريافت كرده و عمليات مربوط به درج سطر در جدول Employees را انجام دهد.
ستون ها مي توانند مقادير NULL را قبول كرده و يا رد نمايند. NULL يك مقدار ويژه در پايگاه داده است كه مفهوم" مقدار ناشناخته" را در بر دارد. NULL با مقادير جاي خالي يا صفر تفاوت دارد. جاي خالي در واقع يك كاراكتر مجاز و صفر يك عدد مجاز است در حالي كه NULL صرفاً نشان دهنده اين باور است كه ما نمي دانيم اين مقدار چيست. NULL با رشته به طول صفر نيز تفاوت دارد.
SQL Server داده هاي مربوط به تعريف مشخصات سرويس دهنده و تمام جدول هاي خود را در مجموعه ويژه اي از جدول ها به نام جدول هاي سيستمي ذخيره مي كند. كاربران نبايد مستقيماً جدول هاي سيستمي را بهنگام سازي كرده و يا روي آنها پرس و جوهايي اجرا كنند. فقط SQL Server بايد در پاسخ به دستورات مديريتي كه توسط كاربران صادر مي شود به جدول هاي سيستمي ارجاع كند.
m6tb_capture.jpg
ديدهاي SQL یا View ها
ديد را مي توان به عنوان يك جدول مجازي يا پرس و جوي ذخيره شده درنظر گرفت. داده هايي كه از طريق يك ديد قابل دستيابي هستند به عنوان يك شيء مجزا در پايگاه داده ذخيره نمي شوند. چيزي كه در پايگاه داده ذخيره مي شود يك دستور SELECT است. مجمموعه نتيجه دستور SELECT ، جدول مجازي حاصل از ديد را تشكيل مي دهد. از ديد براي انجام كارهاي زير استفاده مي شود :
- • محدود كردن كاربر به سطرهاي ويژه اي از يك جدول.
- • محدود كردن كاربر به ستون هاي ويژه اي از يك جدول.
- • الحاق ستون هايي از جدول هاي مختلف به طوري كه همانند يك جدول باشند.
- • بدست آوردن اطلاعات جمعي به جاي پرداختن به جزئيات.
جدول هايي كه دستور SELECT موجود در تعريف ديد به آنها ارجاع مي كند، جدول مبنا ناميده مي شوند. پس از تعريف ديد، مي توانيد همانند يك جدول به آن ارجاع كنيد. در تعريف ديد مي توان به يك ديد ديگر ارجاع كرد.
ديدهاي SQL Server قابل بهنگام سازي هستند در صورتي كه عمل بهنگام سازي فقط بر يكي از جدول هاي مبنايي كه توسط ديد ارجاع مي شود، تاثير داشته باشد.
رويه هاي ذخيره شده
رويه ذخيره شده، مجموعه اي از دستورات Transact-SQL است كه در يك طرح اجرايي كامپايل شده اند.
رويه هاي ذخيره شده به چهار طريق داده ها را باز مي گردانند :
1- پارامترهاي خروجي كه مي توانند داده يا يك متغير كرزر را باز گردانند.
2- كدهاي بازگشتي كه همواره مقادير صحيح هستند.
3- براي هر دستور SELECT درون رويه ذخيره يا رويه هاي ذخيره شده ديگري كه در اين رويه قرار دارند، يك مجموعه نتيجه بازي گرداند.
4- كرزر عمومي كه نمي تواند خارج از رويه ذخيره شده ارجاع شود.
نمونه اي از يك رويه ذخيره شده را در زير مشاهده مي كنيد :
Capture.JPGCapture0.JPG
- - - Updated - - -
برنامه هاي كاربردي لازم نيست كه تمام دستورات SQL درون رويه را ارسال كنند . در عوض فقط يك دستور EXECUTE يا CALL كه شامل نام رويه و مقادير پارامتر ها است ارسال مي شود.
رويه هاي ذخيره شده كاربران را از جزئيات جدول هاي درون پايگاه داده بي نياز مي كنند. اگر مجموعه اي از رويه هاي ذخيره شده تمام كارهاي مورد نياز كاربران را پشتيباني كند كاربران هرگز مجبور نخواهند بود كه مستقيماً به جدول ها دسترسي يابند. يك نمونه از اين نحوه استفاده از رويه هاي ذخيره شده ، رويه هاي ذخيره شده سيستمي SQL Server است كه كاربران را از ارتباط مستقيم با جدول هاي سيستمي بي نياز مي كند. نام اين رويه هاي ذخيره شده با SP شروع مي شود. اين رويه هاي ذخيره شده تمام وظايف مديريتي لازم براي اجراي SQL Server را پشتيباني مي كند. در واقع، شما مي توانيد با استفاده از دستورات مديريتي Transact-SQL يا رويه هاي ذخيره شده سيستمي، SQL Server را مديريت نماييد و هرگز نياز نخواهيد داشت كه مستقيماً جدول هاي سيستمي را بهنگام سازي كنيد.
اجراي يك رويه ذخيره شده در پروژه های پایگاه داده SQL Server بهتر از اجراي يك دستور SQL مي باشد زيرا لازم نيست SQL Server به طور كامل يك طرح اجرا را كامپايل نمايد و فقط بايد بهينه سازي طرح ذخيره شده رويه را تكميل نمايد.
SQL Server داراي رويه هاي ذخيره شده موقت نيز مي باشد كه هنگام قطع اتصال حذف مي شوند. رويه هاي ذخيره شده موقت در tempdb ذخيره مي شوند. از اين رويه ها بيشتر در مواقعي استفاده مي شود كه برنامه هاي كاربردي، دستورات SQL-Transact پويا توليد مي كنند و چندين بار اجرا مي شوند. به جاي اين كه دستورات SQL Server چند بار كامپايل شوند، مي توان يك رويه ذخيره شده ايجاد كرد كه در اولين اجراي خود كامپايل شده و سپس طرح از پيش كامپايل شده چندين بار اجرا شود. استفاده بيش از حد از رويه هاي ذخيره شده موقت، منجر به ايجاد تداخل در جدول هاي سيستمي tempdb مي شود.
- - - Updated - - -
مقادير قابل قبول انواع داده
مقادير عددی
مقادير اعداد صحيح از 63^2- تا1-63^2 bight
مقادير اعداد صحيح از 31^2- تا 1-31^2 Int
مقادير اعداد صحيح از 15^2- تا 1-15^2 Smallint
مقادير اعداد صحيح از 0 تا 255 Tinyint
مقادير اعداد صحيح با ارزش 0 و 1 bit
مقادير مقياس با دقت ثابت شده از 1+38^10 تا 1-38^10 decimal
مقادير Decimal همچنين مي تواند تعريف شود به صورتNumeric ، دامنه مقادير يكسان مي باشد.
مقادير Monetary (مالي) از 63^2- تا 1-63^2 (مقادير Money تا 0.0001 از هرواحد دقت دارد). Money
مقاديرMonetary از 3648 . 748 . 214- تا 3647 . 748 . 214 مي باشد Smallmoney
(مقادير Small Monetary تا 0001/0 واحد دقيق مي باشد).
مقادير صحيح شناور (متغير) از 308+E1.79- تا 308+E1.79 (مقادير Float فقط تقريبي مي باشد) Float
مقادير صحيح شناور متغير از 38+E3.40- تا 38+E3.40 مي باشند (مقادير real فقط تقريبي مي باشد) real
مقادير تاريخ و زمان از 1.1753 ژانويه تا 31.9999 دسامبر مي باشد datetime
(مقادير Date Time تا 3 هزارم ثانيه يا 3.33 ميلي ثانيه دقت دارد) Smalldatedtime
مقادير تاريخ و زمان از 1 ژانويه و 1900 تا 6 ژوئن و 2079 مي باشد (مقاديرSmalldatetime تا 1 دقيقه دقت دارند)
مقادير کاراکتری
مقادير حرفي كدگذاري نشده با طول ثابت با طول حداكثر 8000 حرف مي باشد. Char
مقادير حرفي كدگذاري نشده با طول متغير با طول حداكثر 8000 حرف مي باشد. Varchar
داده كدگذاري شده با طول متغير با طول حداكثر 1-31^2 (647 . 741 . 073 . 1) حرف مي باشد. Text
داده كدگذاري شده با طول ثابت با طول حداكثر 4000 حرف مي باشد Nchar
داده كدگذاري نشده با طول متغير با حداكثر طول 4000 حرف مي باشد nvarchar
داده كدگذاري شده با طول متغير با حداكثر طول 1-30^2 (823 . 741 . 073 . 1) حرف مي باشد ntext
مقادير باينری (1 و 0)
داده باينري با طول ثابت با حداكثر طول 8000 بايت مي باشد binary
داده باينري با طول متغير با حداكثر طول 8000 بايت مي باشد Varbinary
داده باينري با طول متغير با حداكثر طول 1-31^2 (647 . 783 . 147 . 2) بايت مي باشد Image
مقادير ديگر
يك مرجع مبناء براي يك Cursor مي باشد (يكCursor يك ماهيتي است كه يك مرجع مبناء را براي يك سطر مشخص در يك Result Set نشان مي دهد. Cursor
يك شمار واحد پايگاه داده است كه به هنگام مي شود هر زماني كه يك سطر به هنگام شود. (نوع داده rowversion در نسخه قبلی از Timestamp SQL Server ناميده می شود) rowversion
مقاديري از هر نوع غير از text ، ntext ، rowversion (timestamp) و sql - variant می باشد. يك معرف واحد کلي GUID مي باشد. Uniqveidentifier
guid
Guid که از GloballyUniqueIdentifier گرفته شده، يک مقادير باينری (1 و 0) 16 بايتی می باشد که هيچ کامپيوتر ديگری در دنيا نخواهد مقدار آن را توليد کند. نوع داده uniqueidentifier برای ذخيره کردن Guids استفاده می شود. SQL Server به طور خودکار مقادير Guid را از همان راهی که مقادير Identity ايجاد می شود، فراهم نمی کند. زيرا يک جدول می تواند شامل Guids چندگانه باشد، اما فقط يک Identity منحصر به فرد باشد. اگر چه، تابع NEWID که SQL Server آن را به صورت پيش فرض در نظر می گيرد زمانی که خصوصيات IsrowGuid ، Yes می شود. يک Guid جديد بر خواهد گشت زمانی که سطر قرار داده می شود.
ايجاد کردن ستونهای محاسباتی
علاوه بر اينکه ستونها به طرز ساده اطلاعات را در جداول Underlying و نماها نشان می دهد، همچنين Query تان می تواند شامل ستونهايی باشد که محاسبه شده اند بر اساس داده های Underlying ، توابع SQL Server يا هر ترکيب دوتايی. ستون محاسباتی به وسيله مشخص کردن يک عبارت به عنوان ستون ايجاد می گردد.
ما به عبارات Transact-SQL در Detail در درس 21 "The Transact-SQL Language" می پردازيم. بنابراين در اين تمرين ما فقط يک جفت از عبارات ساده که بر اساس اپراتور الحاق رشته Transact-SQL که دو رشته و تابع GETDATE را که داده ها و زمان سيستم جاری را باز می گرداند اضافه می کنيم.
ايجاد کردن يک ستون محاسباتی با استفاده از قاب Grid
1- قاب SQL را پنهان کرده و قابGrid را به وسيله کليک کردن دکمه روی نوار ابزار Query Designer نشان می دهيم.
2- در هر سل ستون خالی در قاب Grid کليک کرده و Oil Name +' – '+ Latin Name را تايپ می کنيم.
راهنمايی: شما می توانيد سل ها را در قاب Grid به وسيله درج کردن خطوط تقسيم بين سر ستونها عريض تر سازيد.
3- کليد Tab را فشار می دهيم. SQL Server ، 1 Expr را به عنوان نام مستعار ستون پيشنهاد می دهد.
4- نام مستعار را برای Extended Name تغيير می دهيم.
5- دکمه Run را برای به کارگيری مجدد Query کليک می کنيم. Query Designer ستون جديد را در قاب Results نشان می دهد.
ايجاد کردن يک ستون محاسباتی با استفاده از قاب SQL
1- قاب Grid را پنهان کرده و قاب SQL را به وسيله کليک کردن دکمه ها روی نوار ابزار Query Designer نشان می دهيم.
2- GETDATE را به عنوان [ Today’s Data ] برای ليست ستون از شروط Select اضافه می کنيم.
راهنمايی: کاما را قبل از GETDATE فراموش نکنيد.
3- دکمه Run را در نوار ابزار Query Designer برای به کارگيری مجدد Query کليک می کنيم. SQL Server تاريخ جاری در هر سطر را نشان می دهد.
استفاده کردن از شرط Top n
زمانی که شما دستور Return Top را از منوی متن جدول انتخاب می کنيد. SQL Server شرط Top n را در پايين پوششها برای ايجاد صفحه نمايش در Query Designer استفاده می کند. علاوه بر اينکه يک شماره مشخصی از سطرها را مشخص می کنيد شما می توانيد همچنين يک درصد از سطرها را به وسيله استفاده کردن از شرط Top n Percent نشان دهيد. همان طوری که شما ممکن است انتظار داشته باشيد درصدی از سطرهای مشخص شده را باز می گردانيم.
نشان دادن سطرهای Top s
1- Top 5 را قبل از اولين کلمه در Column-List از شروط Select در قاب SQL اضافه می کنيم.
2- دکمه Run را در نوار ابزار Query Designer برای به کارگيری مجدد Query کليک می کنيم. SQL Server فقط 5 سطر اول را نشان می دهد.
نشان دادن Top 5 درصد از سطرها
1- کلمه Percent را بعد از Top 5 در قاب SQL اضافه می کنيم.
2- دکمه Run را در نوار ابزار Query Designer برای به کارگيری Query کليک می کنيم. SQL Server فقط 5 درصد اول از سطرها را در SQL Server نشان می دهد.
شرط WHERE
با استفاده از شرط اختياری WHERE از حالت SELECT شما می توانيد يک زير مجموعه از سطرها که باز گردانده می شوند را مشخص کنيد. برای مثال شما ممکن است بخواهيد فقط مشتريهايی که بيش از $1000 در 12 ماه قبل خرج کرده اند را ببينيد يا اينکه فقط نامهای Oil که با حرف R شروع می شوند را ببينيد. شما اين ملاکها را با استفاده از شرط WHERE مشخص خواهيد کرد.
- - - Updated - - -
شرط WHERE BASIC
Operator Meaning |
مساويست با =
بزرگتر از <
کوچکتر از >
بزرگتر يا مساويست با =<
کوچکتر يا مساويست با =>
مساوی نيست با <> |
کليد برای شرط WHERE يک ملاک انتخابی می باشد که مشخص می کند که کدام سطرها باز خواهند گشت. ساختار پايه ای از يک شرط WHERE ، WHERE می باشد. SQL Server يک حدود کاملی از اپراتورهای مقايسه ای را به طوری که در جدول B-1 نشان داده شده فراهم می سازد.
مشخص شده در شرايط WHERE می تواند يک ارزش دائمی باشد مانند Red"" يا 10000 يا
می تواند باشد يک عبارتی که يک ارزش مانند GETDATE. را باز گرداند. به طور شبيه ارزش می تواند دستی ساخته شوند با استفاده از تابعهای
Transact-SQL مانند LEFT که يک تعدادی از کاراکترهای مشخص شده از چپ يک رشته
را باز می گرداند
ویرایش توسط a00b : March 30th, 2016 در ساعت 03:04
-
تعداد تشکر ها ازa00b به دلیل پست مفید
-
March 30th, 2016 03:14
# ADS
-
March 30th, 2016, 12:43
#2
پاسخ : آموزش SQL Server از صفر تا صد
سلام. اگر امکان داره کمی در مورد نحوه ساخت تریگر و استرد پروسیجر توضیح بدین.
-
-
March 30th, 2016, 13:01
#3
آموزش SQL Server از صفر تا صد بخش دوم
ويژگي مهمي كه باعث تفاوت بين DBMS و RDBMS ميگردد، آن است كه يك RDBMS از يك زبان مبتني بر مجموعهها استفاده ميكند. در اكثر RDBMS ها اين زبان، زبان SQL است. در نتيجه SQL زبان مبتني بر مجموعهها است.
SQL، يك زبان كامپيوتري مبتني بر استاندارد (American National Standards Institute) ANSI براي بازيابي و بروز رساني دادهها در يك پايگاه دادهاي ميباشد و با برنامههاي پايگاه دادههايي مانند MS Access ، DB2 ، MS SQL Server ، Oracle، Sybase و ... كار ميكند.
از طريق SQL، يك برنامه نويس يا گرداننده دادهها ميتواند كارهاي زير را انجام دهد:
- تغيير ساختار يك پايگاه دادهاي
- تغيير مشخصات امنيتي سيستم
- امكان اعطاي اجازه دسترسي كاربران به پايگاه دادهاي يا جداول
- پرس و جو از يك پايگاه دادهاي
استفاده از SQL و پايگاه دادهاي رابطهاي نيز از مهمترين اقدامات انجام شده در جهت توسعه كاربرد Client/Server ميباشد.
SQL بطور كلي شامل دو گروه از جملات ميباشد:
1- جملات پردازش دادهها (DML)
2- جملات تعريف دادهها (DDL)
جملات پردازش دادهها (DML) شامل عبارات زير ميباشند:
مهمترين عبارات DDL در SQL نيز عبارتند از:
کد:
ALTER TABLE
DROP TABLE
CREATE INDEX
DROP INDEX
CREATE VIEW
DROP VIEW
در بخشهاي بعد بطور كاملتر اين دستورات توضيح داده خواهند شد.
دستور SELECT
قاعده نگارش را با دستور SELECT شروع ميكنيم زيرا اكثر جملات با SELECT شروع ميشوند. اين دستور كه دستوري مستقل نيست و حتما بايد با اجزايي بكار رود، جهت ساخت پرس و جو بر روي بانك اطلاعاتي بكار ميرود و ركوردهايي را كه با شرايط اين دستور همخوان باشد، به عنوان نتيجه پرس و جو برميگرداند.
توجه ـ هرگاه SELECT استفاده ميشود حتما بايد از شبه جملات FROM نيز استفاده شود.
انتخاب تمام ستونها:
کد:
SELECT * FROM table_name
انتخاب ستونهاي خاص:
کد:
SELECT column_name(s)
تذكر ـ در بعضي از نرمافزارهاي SQL علامت سميكولن ( در انتهاي جمله به مفسر ميگويد كه پرس و جو تمام شده است. به عنوان مثــال SQL*plus اوراكل، پرس و جويي را اجرا نميكند تا زمانيكه يك سميكلون (يا يك اسلش (/)) را پيدا نكند. در حالي كه بعضي ديگر از نرم افزارهاي SQL از سميكلون به عنوان انتهاي يك جمله SQL استفاده نميكنند. به عنوان مثــال پرس و جو در مايكروسافت نيازي به تمام كننده ندارد زيرا پرس و جو در جعبه ويرايش تايپ ميشود و وقتي دكمهاي را فشار دهيم اجرا ميگردد.
پرس و جو با استفاده از DISTINCT
برخي اوقات در جداول بعضي از اقلام دادهاي تكرار ميشون. اگر آنچه نياز داريم آن است كه بدانيم چه مقادير متفاوتي در يك ستون وجود دارند، از دستور زير استفاده ميكنيم:
کد:
SELECT DISTINCT column_name(s)
اين جمله اقلام دادهاي تكراري در ستون مورد نظر را حذف ميكند. به عبارت ديگر DISTINC باعث محدود شدن نتايج خروجي ميشود به شكلي كه دادههاي تكراري در جواب ظاهر نميشوند.
-
تعداد تشکر ها ازa00b به دلیل پست مفید
-
March 30th, 2016, 14:11
#4
پاسخ : آموزش SQL Server از صفر تا صد
با سلام اگر امکان داره در مورد ساختار های نمایش تابع GetDate در SQL Server کمی توضیح بدین!
-
-
March 30th, 2016, 14:15
#5
آموزش SQL Server از صفر تا صد بخش سوم
عبارات
يك عبارت يك مقدار را برميگرداند. از نقطه نظر نوع داده، عبارت انواع متفاوتي دارد مثل رشته، عدد و بولين. در واقع هر چيزي پس از شبه جمله (بطور مثــال SELECT يا FROM) بيانگر يك عبارت است. در مثــال زير amount يك عبارت است كه مقدار ستون omount را بر ميگرداند:
کد:
SELECT amount FROM checks
شرايط
اگر بخشي از اقلام يا گروهي از اقلام را در پايگاه اطلاعاتي بخواهيم، به يك يا چند شرط احتياج دارد. شرايط در داخل شبه جمله WHERE ميآيند.
شرايط' امكان پرس و جوهاي انتخابيتر را ميدهند. در متداولترين فرم آنها، شرايط از يك متغير، يك مقدار ثابت و يك عملگر مقايسهاي تشكيل ميشوند.
قاعده نگارش شبه جمله WHERE :
کد:
SELECT column_name(s)
FROM table_name
WHERE condition
عملگرها
عملگرها عناصري هستند كه براي بيان چگونگي شرايط مورد نظر جهت استخراج دادهها در داخل يك عبارت استفاده ميشوند. عملگردها به 6 گروه تقسيم ميشوند: رياضي، مقايسهاي، كاراكتري، منطقي، مجموعهاي و متفرقه.
• عملگرهاي رياضي
عملگردهاي رياضي عبارتند از: جمع (+)، تفريق (-)، ضرب (*)، تقسيم (/) و باقيمانده صحيح (% يا MOD).
• عملگردهاي مقايسهاي
عملگرهاي مقايسهاي، عبارات را مقايسه نموده و يكي از اين سه مقدار را بر ميگردانند: صحيح (True)، غلط (False) يا ناشناخته (Unknown).
در فرهنگ اصطلاحات پايگاه دادهها، هيچ (NULL) به معناي عدم حضور داده در يك فيلد است. اما بدين مفهوم نيست كه فيلد داراي مقدار صفر يا بلانك (blank) است. صفر يا بلانك يك مقدار است در حاليكه هيچ يعني آن فيلد چيزي ندارد.
اگر مقايسهاي مثل field=9 را انجام دهيم و بدانيم تنها مقدار قابل قبول براي آن فيلد هيچ است، آنگاه نتيجه مقايسه ناشناخته است. چون ناشناخته يك شرط نامناسب است، نسخههاي مختلف SQL ، مقدار ناشناخته را با مقدار غلط جايگزين مينمايند و عملگر خاص IS NULL را براي آزمايش شرط NULL ارائه ميدهند.
عملگرهاي مقايسهاي عبارتند از: مساوي (=)، بزرگتر از (> ) ، بزرگتر يا مساوي با (=>)، كوچكتر از (<)، كوچكتر يا مساوي با (=<) و نامساوي (= ! يا < >).
توجه ـ براي پيدا كردن مقادير فيلدهاي كاراكتري بايد از علامت كوتيشن در طرفين مقدار مورد نظر استفاده شود. فيلدهاي عددي نيازي به استفاده از علامت كوتيشن ندارند.
تذكرـ گرچه قاعده نگارش SQL به حروف بزرگ و كوچك حساس نيست، اما دادهها آن حساس ميباشند. اكثر شركتها ترجيح ميدهند كه اطلاعات را به شكل حروف كوچك ذخيره كنند تا بدين وسيله جامعيت دادهها را تأمين نمايند. پيشنهاد ميشود كه همه دادهها يا بصورت حروف بزرگ و يا بصورت حروف كوچك ذخيره شوند. تركيب حروف بزرگ و كوچك احتمالا موجب بروز مشكلاتي در بازاريابي دقيق دادهها خواهد شد.
توجه ـ حروف بزرگ معمولا قبل از حروف كوچك ذخيره ميشوند (ارزش كاراكتري حروف بزرگ كمتر از حروف كوچك است).
• عملگردهاي كاركتري
از عملگردهاي كاراكتري براي پردازش رشتههاي كاراكتري استفاده ميشود (هم در خروجي دادهها و هم به منظور گذاشتن شرطي روي دادههايي كه بايد بازيابي گردند.)
عملگر LIKE
گاهي اوقات ميخواهيم بخشي از اطلاعات پايگاه دادهها را كه داراي الگوي خاصي است ولي كاملا يك داده خاص را نميپوشاند، انتخاب و بازيابي نماييم. يك روش طولاني و خسته كننده آن است كه الگوي مورد نظر را در حالات مختلف ممكن در سرتاسر پايگاه دادهها به همراه علامت = استفاده كنيم. راه حل بعدي استفاده از LIKE است.
کد:
SELECT coumn_name FROM table_name
WHERE column_name LIKE pattern
مثــال/
کد:
SELECT * FROM customers
WHERE LastName LIKE 'S%'
با استفاده از عبارت فوق، ركورد تمام مشترياني كه نام خانوادگي آنها با حرف S شروع ميشود به عنوان خروجي، برگردانده خواهد شد.
تذكر ـ از علامت % ميتوان در ابتدا، انتها و يا در هر دو طرف الگو (pattern) استفاده كرد.
اگر بخواهيم دادههايي را پيدا كنيم كه يك يا چند كاراكتر از آن را در اختيار داريم، بايد از نوع ديگري از wildcard، يعني underscore (_ ) استفاده كنيم.
مثــال/
کد:
SELECT * FROM friends
Where phone LIKE '223_5_8_'
همچنين ميتوان از تركيب اين دو Wildcard نيز استفاده كرد.
مثــال/
کد:
SELECT * FROM customers
WHERE LastName LIKE '_b% '
با استفاده از اين مثــال تمام ركوردهايي كه دومين كاراكتر نام خانوادگي آنها b است، پيدا ميشوند.
-
تعداد تشکر ها ازa00b به دلیل پست مفید
-
March 30th, 2016, 18:55
#6
پاسخ : آموزش SQL Server از صفر تا صد
لطفا ساختار دستور GetDate
-
-
March 30th, 2016, 19:01
#7
آموزش SQL Server از صفر تا صد بخش چهارم
عملگر «: عملگر» (لوله مضاعف) دو رشته را به هم متصل ميكنند.
تذكر ـ بعضي از نسخههاي SQL جهت اتصال از علامت جمع استفاده ميكنند.
• عملگرهاي منطقي
عملگرهاي منطقي، دو يا چند شرط را در شبه جمله WHERE از يك جمله SQL جدا ميكنند.
عمگر AND : دو عبارت منطقي را تركيب ميكند. بايد هر دو شرط داده شده در طرفين AND صحيح باشند تا نتيجه AND صحيح گردد. اگر يكي از شروط در طرفين AND غلط باشد، نتيجه AND غلط ميگردد.
کد:
SELECT column_name(s)
FROM table_name
WHERE conditionl AND condition
عملگر OR : از OR براي ارتباط شروط استفاده ميشود. كافي است كه يكي از شرطهاي دو سمت OR صحيح باشد تا نتيجه OR صحيح گردد و در صورتي نتيجه OR غلط است كه هر دو شرط دو سمت OR غلط باشند.
کد:
SELECT column_name(s)
FROM table_name
WHERE conditionl OR condition2
عملگر NOT : شرط داده شده را منفي ميكند. به عبارتديگر اگر شرط داده شده قبل از NOT غلط باشد، بعد از اعمال NOT صحيح ميشود و بالعكس.
NOT همچنين ميتواند با عملگر IS زمانيكه از NULL استفاده ميكنيم، همراه شود.
• عملگرهاي مجموعهاي
عملگرهاي UNION و UNION ALL :
UNION، اجتماع دو مجموعه پرس و جو را بدون تكرار برميگرداند.
UNION ALL نيز شبيه UNION ميباشد بجز آنكه تكراريها را حذف نميكند.
کد:
SQL STATEMENT 1
UNION/UNION ALL
SQL STATEMENT 2
عملگر INTERSECT : ركوردهايي را برميگرداند كه در هر دو پرس و جو وجود داشته باشند (مشترك باشند).
کد:
SQL STATEMENT 1
INTERSECT
SQL STATEMENT 2
عملگر MINUS : كليه رديفهايي را ه در پرس و جوي اول هستند ولي در پرس و جوي دوم نيستند، برميگرداند.
SQL STATEMENT 1
MINUS
SQL STATEMENT 2
• عملگرهاي ديگر
عملگر IN : از عملگر IN هنگامي استفاده ميشود كه مقدار دقيق آنچه را كه ميخواهيم برگردانده شود، را بدانيم.
کد:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value 1, value 2, …)
مثــال/
کد:
SELECTB * FROM customers
WHERE LastName IN (Hansen / Pettersen)
در مثــال فوق مشخصات مشترياني كه نام خانوادگي آنها Hansen و يا Pettersen ميباشد، برگردانده ميشود.
عملگر BETWEEN … AND :
عملگر BETWEEN … AND، بازدهاي از دادهها را كه بين د و مقدار موردنظر قرار دارند را برميگرداند. (مقادير موردنظر ميتوانند عدد، متن و يا تاريخ باشند).
تذكر ـ نتيجه عملگر BETWEEN … AND در پايگاه دادههاي مختلف متفاوت است. در بعضي از پايگاه دادهها، BETWEEN … AND تنها مقاديري را كه بين دو مقدار موردنظر قرار دارند، برميگرداند. در بعضي از پايگاه دادهها مقاديري كه بين دو مقدار موردنظر قرار دارند و شامل آن مقادير نيز ميباشند، برگردانده ميشوند و در برخي ديگر مقادير بين دو مقدار موردنظر به همراه يكي از مقادير سمت چپ و يا سمت راست به عنوان نتيجه برگردانده ميشوند.
-
تعداد تشکر ها از a00b به دلیل پست مفید
-
March 31st, 2016, 00:17
#8
پاسخ : آموزش SQL Server از صفر تا صد
ببخشین علت اینکه بعضی وقتها سرعت select کم میشه چیه؟
-
-
March 31st, 2016, 00:31
#9
آموزش SQL Server از صفر تا صد بخش پنجم
توابع
استفاده از توابع SQL اين امكان را ميدهد تا كارهاي خارقالعادهاي مثل جمع يك ستون يا تغيير تمام كاراكترهاي يك رشته به حروف بزرگ را انجام دهيم.
توابع، بطور قابل ملاحظهاي توانايي ما را در پردازش اطلاعاتي كه بازيابي ميكنيم، با استفاده از توابع اوليه SQL بالا ميبرد.
کد:
SELECT function (column)
FROM table – name
WHERE condition
توابع جمعي
اين توابع گاهي اوقات تحت عنوان توابع گروهي ناميده ميشوند. نتيجه اين توابع مقداري است كه از مقادير يك ستون حاصل ميشود.
توجه ـ نميتوان از توابع جمعي (گروهي) در شبه جمله WHERE استفاده كرد.
COUNT : اين تابع تعداد رديفهايي را برميگرداند كه شرايط موجود در جلوي شبه جمله WHERE را تامين ميكنند.
SUN : اين تابع مجموع مقادير يك ستون عددي را برميگرداند.
AVG : تابع AVG ميانگين يك ستون را محاسبه ميكند.
AVG نيز مانند تابع SUN فقط براي فيلدهاي عددي بكار ميرود.
MAX : اين تابع بزرگترين مقدار يك ستون را پيدا ميكند.
تابع MAX هم با اعداد كار ميكند و هم با رشتههاي كاراكتري.
MIN : تابع MIN شبيه تابع MAX است با اين تفاوت كه كوچكترين مقدار يك ستون را برميگرداند. اين تابع نيز هم با اعداد كار ميكند و هم با رشتههاي كاراكتري.
VARIANCE : مربع انحراف استاندارد را نشان ميدهد كه عددي حياتي براي بيشتر محاسبات آماري است. اين تابع از توابعي است كه فقط با فيلدهاي عددي كار ميكند.
STDDEV : اين تابع مقدار انحراف استاندارد يك ستون از اعداد را پيدا ميكند.
اين تابع نيز تنها با فيلدهاي عددي كار ميكند و وقتي با رشته كاركتري مواجه ميشود، يك پيغام اشتباه ميفرستد.
توابع تاريخ و زمان
ما در تمدني زندگي ميكنيم كه توسط زمان و تاريخ اداره ميشود و بيشتر كاربردهاي SQL داراي توابعي براي فايق آمدن بر اين مفاهيم هستند.
تذكر ـ اين توابع از نوع داده Date استفاده ميكنند.
ADD – MONTHS : اين تابع تعدادي ماه به تاريخ مشخصي اضافه ميكند. بطور مثــال ممكن است مطلب فوقالعادهاي اتفاق افتاده باشد و پروژهاي براي مدت دو ماه متوقف شده باشد و حالا اگر بخواهيم برنامهريزي جديدي ارائه دهيم، از اين تابع استفاده ميكنيم.
LAST – DAY : اين تابع، آخرين روز يك ماه بخصوص را پيدا ميكند.
MONTHS – BETWEEN : اگر بخواهيم بدانيم كه چند ماه بين ماههاي x و y قرار ميگيرد، از اين تابع استفاده ميكنيم. اين تابع به ترتيب قرار دادن ماهها حساس است بنابراين بطور مثــال ميتوان از يك نتيجه منفي براي تعيين اينكه آيا تاريخي قبل از تاريخ ديگري اتفاق افتاده است يا نه، استفاده كرد.
NEW – TIME : اگر بخواهيم زمان را براساس زمان منطقهاي تطبيق دهيم، بايد از اين تابع استفاده كنيم. در جدول صفحه بعد، زمان مناطق موردنظر كه با اين تابع قابل استفاده هستند، آورده شده است:
توابع رياضي
بسياري از اطلاعات كه از پايگاه دادهها بازيابي ميكنيم نياز به محاسبات رياضي دارند. نمونههايي از توابع رياضي عبارتند از: ABS, CEIL, DLOOR, SIN, COS, TAN, SINH, COSH, EXP, LN, LOG, MOD, POWER, SIGN, SQRT, و ...
توابع كاراكتري
بسياري از نسخههاي SQL امكان استفاده از توابع كاراكتري و رشتهاي را فراهم ميآورند.
CHR : اين تابع، كاراكتر معادل عدد داده شده در آرگومان را برميگرداند. كاراكتري كه برگردانده ميشود بستگي به مجموعه كاراكترهاي پايگاه داده مورد استفاده (مثلاً ASCII و ...) دارد.
CONCAT : اين تابع همان عمل عملگر || را انجام ميدهد. (دو رشته را به هم متصل ميكند).
INITCAR : اين تابع اولين حرف يك كلمه را به حرف بزرگ و ساير حروف كلمه را به حروف كوچك تبديل ميكند.
LOWER : اين تابع تمام كاراكترها را به حروف كوچك تبديل ميكند.
UPPER : اين تابع عكس تابع LOWER عمل ميكند. (تمام كاراكترها را به حروف بزرگ تبديل ميكند).
RPAD , LPAD : حداقل 2 و حداكثر 3 آرگومان رشته كاراكتري است كه عمليات روي آن انجام ميشود. آرگومان دوم، تعداد كاراكتري است كه بايد اضافه شود و آرگومان سوم كه اختياري نيز ميباشد، نشان دهنده كاراكتري است كه بايد اضافه شود. پيش فرض سومين آرگومان بلانك (blank) يا ميتواند يك كاراكتر تنها و يا رشتهاي از كاراكترها باشد.
RTRIM , LTRIM : حداقل يك و حداكثر دو آرگومان دارند. اولين آرگومان يك رشته كاراكتري است و دومين آرگومان كه اختياري نيز ميباشد يا يك كاراكتر است يا يك رشته كاراكتري و يا پيش فرضاش يك بلانك (blank) است. اگر از آرگومان دوم استفاده كنيم و بلانك نيز نباشد، توابع TRIM كاراكترها را مياندازند. (حذف ميكنند)
REPLACE : كاراكتري را به جاي كاركتر ديگري در يك رشته كاراكتري جايگزين ميكند. اين تابع سه آرگومان دارد. اولين آرگومان، رشته مورد جستجو را مشخص ميكند. دومين آرگومان كليد جستجو است و آخرين آرگومان، رشته جايگزين اختياري است. اگر سومين آرگومان نوشته نشود و يا بلانك (blank) درنظر گرفته شود، هر نمونه از كليد جستجو كه در داخل رشته جستجو ميشود، برداشته شده و به جاي آن چيزي جايگزين نميگردد. اگر آرگومان سوم را داشته باشيم، اين آرگومان به جاي هر نمونه از كليد جستجو در رشته موردنظر جايگزين خواهد شد. اگر دومين آرگومان خالي باشد، رشته موردنظر بدون تغيير باقي خواهد ماند.
SUBSTR : اين تابع سه آرگومان اين امكان را ميدهد كه قطعهاي از يك رشته را بتوان انتخاب نمود. اولين آرگومان، رشته موردنظر است. دومين آرگومان امكان اولين كاراكتر رشته را مشخص ميكند. سومين آرگومان تعداد كاراكتري را كه بايد انتخاب شود را نشان ميدهد. اگر در دومين آرگومان از عدد منفي استفاده كنيم، نقطه شروع با شمردن از انتها شروع ميشود. اگر آرگومان سوم را نداشته باشيم، باقيمانده رشته برگردانده ميشود.
TRANSLATE : اين تابع سه آرگومان دارد: رشته موردنظر، رشته FROM و رشته TO. عناصر رشته موردنظر كه در رشته FROM رخ ميدهد، به عناصر وابسته در رشته TO تبديل ميشود.
INSTR : با استفاده از اين تابع، محل وجود يك رشته كاراكتري در داخل رشتهاي ديگر مشخص ميشود. اولين آرگومان، رشته موردنظر ميباشد. آرگومان دوم، الگوي موردنظر است. سومين و چهارمين آرگومان اعدادي هستند كه شروع جستجو و تعداد كاراكتر مورد جستجو را نشان ميدهد.
تذكر ـ پيش فرض سومين و چهارمين آرگومان يك است. اگر سومين آرگومان منفي باشد، شروع جستجو از انتهاي رشته انجام خواهد شد.
LENGTH : اين تابع طول يك رشته كاراكتري را برميگرداند.
توابع تبديلي
اين توابع، راههاي سادهاي براي تبديل يك نوع داده به نوع ديگري از داده را ارائه ميدهند.
TO – CHAR : اين تابع، يك عدد را به كاراكتر تبديل ميكند.
توجه ـ ممكن است برخي از نسخههاي SQL از اين تابع جهت تبديل ساير انواع داده به نوع كاراكتري استفاده كنند (مثل Date به كاراكتر) و يا از فرمت ديگري براي اين تابع و آرگومانهاي آن استفاده نمايند.
TO – NUMBER : اين تابع يك رشته عددي را به يك عدد تبديل ميكند.
جملات پردازش دادهها
تا اين مرحله ياد گرفتيم كه چگونه دادهها را از پايگاه دادهاي با استفاده از دستور SELECT بازيابي كنيم. بعد از اينكه دادهها بازيابي شد، آن را ميتوانيم در يك برنامه كاربردي بكار برده و يا آن را تصحيح كنيم. جملات زير اين امكان را به ما ميدهند تا دادههاي داخل يك جدول پايگاه اطلاعاتي را پردازش كنيم:
- جمله INSERT (درج)
- جمله UPDATE (بهنگام سازي)
- جمله DELETE (حذف)
محصولاتي مثل اكسس، dBase IV يا فاكس پرو به شكل بسته نرمافزاري داراي ابزار مناسبي براي ورود، تصحيح و حذف ركوردهاي پايگاه دادهاي ميباشند. يكي از دلايلي كه SQL جملات پردازش دادهها را تهيه كرده است اين است كه SQL در درجه اول به همراه برنامههاي كاربردي استفاده ميشود و اين امكان را فراهم ميآورد تا با استفاده از ابزار كاربردي خود دادهها را تصحيح كنيد و برنامه نويس SQL نياز دارد كه دادهها را با استفاده از SQL به پايگاه دادهاي برگرداند. به علاوه، بيشتر سيستمهاي بزرگ پايگاه دادهها براي اين طراحي نشدهاند كه فقط ذهنيات طراح و برنامهنويس را دربرگيرند، بلكه اين سيستمها براي اين طراحي شدهاند كه در حجم بالا و در محيطهاي چند كاربره كار نمايند. طراحي اوليه در چنين سيستمهايي متكي به پرس و جوي بهينه و موتورهاي بازيابي دادههاست.
بيشتر سيستمهاي پايگاه دادهاي رابطهاي ابزاري براي صدور و ورود دادهها تهيه كردهاند. اين دادهها معمولا به شكل يك فايل متن محدود شدهاي ذخيره ميشوند. اغلب يك ساختار فايل ذخيره شده شامل اطلاعاتي درباره جدولي است كه وارد شده است. ابزاري مثل SQL * Loader در اوراكل BCP در SQL Seever، Import / Export در اكسس مايكروسافت.
NEXT – DAY : اين تابع نام اولين روز هفته كه مساوي با تاريخ بخصوصي است و يا بعد از تاريخ معيني ميآيد را بدست ميآورد.
SYSDATE : اين تابع تاريخ و زمان سيستم را برميگرداند.
- - - Updated - - -
درج دادهها با استفاده از جمله INSERT
جمله INSERT اين امكان را به ما ميدهد تا دادهها را وارد پايگاه دادهاي كنيم. اين جمله ميتواند به دو جمله تقسيم شود:
کد:
INSERT … VALUES
INSERT … SELECT
در يك ركورد با استفاده از INSERT … VALUES
نحوه نگارش جمله INSERT … VALUES دادهها را به داخل يك جدول به شكل يك ركورد درج ميكند. اين جمله براي عمليات كوچكي كه درگير چند ركورد است، مناسب ميباشد. نحوه نگارش اين جمله به شكل زير است:
کد:
INSERT INTO table – name (column – namel, column – name2, …)
VALUES (nalue1 , value2, …)
فرمت اصلي جمله INSERT … VALUES با استفاده از ستونهايي كه مشخص نمودهايم يك ركورد به جدول اضافه ميكند و مقادير مربوطه را به داخل اين ستونها اضافه مينمايد.
در هنگام استفاده از اين جمله سه قاعده را بايد در موقع اضافه نمودن دادهها به جدول درنظر بگيريم:
- 1) بايد نوع داده مقادير بكار رفته با نوع داده فيلدهايي كه اضافه شدهاند يكسان باشد.
- 2) اندازه دادهها بايد در قالب ستون گنجانده شوند. مثلا يك رشته 80 كاراكتري نميتواند در داخل يك ستون 40 كاراكتري اضافه شود.
- 3) مكان داده در VALUES بايد مطابق مكان ستوني باشد كه بايد داده به آن ستون اضافه شود. (يعني اولين مقدار بايد به داخل اولين ستون و دومين مقدار به دومين ستون و ... اضافه شود).
توجه ـ در جمله INSERT، در پروژه های SQL Server نام ستون الزامي نيست و اگر نام ستون قيد نشده باشد SQL مقادير را بر طبق شماره ستونهاي آنها قرار ميدهد. به عبارت ديگر، SQL اولين مقدار را در اولين ستون و دومين ستون را در دومين ستون و الي آخر درج ميكند.
کد:
INSERT INTO table – name
VALUES (value1, value2, …)
درج چندين ركورد با استفاده از جمله INSERT … SELECT :
جمله INSERT … SELECT هنگامي كاربرد دارد كه بخواهيم ركوردهاي زيادي را به يك جدول اضافه كنيم. در چنين حالتي جمله INSERT … SELECT خيلي مفيد است و اين امكان را به برنامه نويس ميدهد تا اطلاعاتي را از جدولي يا گروهي از جدولها به داخل جدول ديگر منتقل كند.
نحوه نگارش جمله INSERT … SELECT بصورت زير است:
کد:
INSERT INTO table – name (column – namel, column – name2, …)
SELECT column – namel column – name2, …
FROM table – name
WHERE seaech – condition
در جمله INSERT … SELECT قواعد زير وجود دارد:
- 1) جمله SELECT نميتواند رديفهايي از جدول را انتخاب كند كه در حال درج در آن هستيم.
- 2) تعداد ستونهاي جمله INSERT INTO بايد مساوي با تعداد ستونهاي برگشتي از جمله SELECT باشد.
- 3) نوعت دادهها در جمله INSERT INTO بايد مساوي با نوع دادههاي ستونهاي برگشتي از جمله SELECT باشد.
استفاده ديگر جمله INSERT … SELECT بازگرداندن جدولي است كه شما آن را حذف و يا ايجاد كردهايد. (تهيه Back Up)
کد:
SELECT *
INTO new – table – name
FROM original – table – name
و يا:
INSERT INTO new – table – name
SELECT *
FROM original – table – name
حال ميتوانيم تغييرات موردنظر را در جدول اصلي با خيالي راحت اعمال نماييم.
تغيير نوع دادههاي موجود با استفاده از جمله UPDATE
هدف از جمله UPDATE تغيير مقادير موجود ركوردهاست. نحوه نگارش اين جمله به شكل زير است:
کد:
UPDATE table – name
SET column – namel = new – valuel [ , column – name2 = new – value2, …]
WHERE search – condition
اين جمله شبه جمله WHERE را كنترل ميكند. براي تمام ركوردهاي جدول داده شده شبه جمله WHERE به مقدار TRUE ارزيابي ميشود و بهنگام ميگردد.
توجه ـ اگر شبه جمله WHERE را از جمله UPDATE حذف كنيم، تمام ركوردهاي داده شده با مقدار داده شده بهنگام ميشوند.
حذف اطلاعات به كمك جمله DELETE
علاوه بر اضافه كردن اطلاعات به پايگاه دادهاي، ميتوانيم آنها را از پايگاه اطلاعاتي حذف كنيم. نحوه نگارش حذف به شكل زير است:
کد:
DELETE FROM table – name
WHERE condition
حذف تمام سطرها:
کد:
DELETE FROM table – name
و يا:
کد:
DELETE * FROM table – name
بسته به استفاده از جمله WHERE در جمله DELETE، SQL ميتواند كارهاي زير را انجام دهد:
- ـ يك رديف را حذف كند.
- ـ چندين رديف را حذف كند.
- ـ تمام رديفها را حذف كند.
- ـ هيچ رديفي را حذف نكند.
در اينجا به چند نكته اشاره ميشود. وقتي از جمله DELETE استفاده ميكنيم:
- جمله DELETE نميتواند يك فيلد را حذف كند. (به جاي آن از UPDATE استفاده ميكنيم)
- جمله DELETE تمام ركورد را از يك جدول حذف ميكند.
توجه ـ شبه UPDATE, INSERT، حذف ركوردها از يك جدول ممكن است باعث بروز مشكلات جامعيت در داخل جداول ديگر گردد. اين مطلب مهم را وقتي در داخل يك پايگاه دادهاي مشغول تغيير هستيم، بايد درنظر داشته باشيم.
- با استفاده از جمله DELETE فقط ركوردها حذف ميشوند نه جدول. (از جمله DROP TABLE براي حذف كامل جدول استفاده ميكنيم)
توجه ـ شبيه جمله UPDATE، اگر از شبه جمله WHERE در جمله DELETE استفاده نكنيم، تمام رديفهاي جدول خاص حذف خواهد شد.
-
تعداد تشکر ها از a00b به دلیل پست مفید
-
March 31st, 2016, 00:33
#10
پاسخ : آموزش SQL Server از صفر تا صد بخش چهارم
------------------------------------------------------------------------------------------------------------
-