آموزش دستور delete در 2019 sql server، بهترین روش حذف اطلاعات جدول
جلسات دوره
مهدی عباسی
مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و .... مشاهده رزومه
آموزش کامل دستور Delete در SQL Server 2019
در جلسه قبل با دستورات insert و update آشنا شدیم؛ این جلسه میخواهیم درباره دستور delete در sql server صحبت کنیم. با ما همراه باشید تا در ادامه بیشتر با این دستور و نحوه کار آن آشنا شوید. ما در این درس با زدن مثالهای متعدد برای یادگیری بهتر شما عزیزان تلاش کردهایم.
تعریف دستور delete در sql server:
از این دستور برای حذف یک یا چند سطر استفاده میکنیم که نحوه تعریف آن به شکل زیر است:
Delete [From] نام جدول Where [ عبارت شرطی ]
نکتهای که در استفاده از دستور Delete باید بدانید این است که عدم استفاده از شرط در این دستور، حذف کلیه رکوردهای شما را در بردارد که ممکن است غیرقابل جبران باشد.
مثالهایی متفاوت از نحوه استفاده دستور delete در sql server:
برای این موضوع ابتدا یک دیتابیس با نام dbTest5 ایجاد کرده که دارای دو جدول به نامهای Roles و People میباشد.
Use master
GO
Drop database if Exists dbTest5
GO
Create Database dbTest5
GO
Use dbTest5
GO
Create Table Roles(
RoleId int Primary key ,
RoleTitle Nvarchar(30) Not Null
)
GO
Create Table People(
PersonId int Primary key Identity,
FName Nvarchar(20) Not Null,
LName Nvarchar(20) Not Null,
MobileNumber varchar(15) Null,
RoleId int Null,
Foreign Key(RoleId) References Roles(RoleId)
)
GO
Insert INTO Roles Values(1,N'مدیر'),
(2,N'کاربر ویژه'),
(3,N'کاربر عادی'),
(4,N'مشتری'),
(5,N'فروشنده')
Insert INTO People(FName,LName,MobileNumber,RoleId)
Values (N'علی',N'اکبری','091111',1),
(N'محمد',N'برزگر','092222',2),
(N'رضا',N'یوسفی',null,2),
(N'سعید',N'سلیمانی','098122333',NUll),
(N'مهران',N'صادقی',NULL,2)
GO
Select *
From Roles
GO
Select *
From People
خروجی:
-
مثال اول
حالا میرویم سراغ مثالهای دستور delete؛ با اجرای دستور delete در مثال زیر همانطور که گفتیم تمامی اطلاعات جدول پاک میشود.
-
مثال دوم
فرض کنید میخواهید سطرهایی از جدول که نامشان "مهران" است را حذف کنید. در این صورت باید به شیوه زیر عمل کنید:
Delete
From People
where FName=N'مهران'
خروجی:
-
مثال سوم
حالا میخواهیم سطرهایی را در جدول حذف کنیم که نام خانوادگی انتهای آنها حرف "ی" باشد. برای این کار به روش زیر عمل میکنیم:
Delete
From People
where LName Like N'%ی'
خروجی:
-
مثال چهارم
تمامی مثالهایی که در بالا گفتیم بر روی جدول People انجام میشد. حالا میخواهیم از جدول Roles سطری که دارای مقدار مدیر است را حذف کنیم. با نوشتن قطعه کد زیر حتما پیغام خطا را خواهید دید. اما چرا؟
Delete
From Roles
where RoleId=1
چون ما از فیلد RoleId در جدول People استفاده کردیم. به همین دلیل نمیتوانیم مدیر را از جدول Roles حذف کنیم. برای اینکار باید ابتدا در جدول People سطرهایی که داری RoleId=1 هستند را حذف و سپس عمل حذف را از جدول Role انجام دهیم. در این صورت قطعه کد ما به صورت زیر خواهد بود.
Delete
From People
Where RoleId=1
Delete
From Roles
where RoleId=1
خروجی:
-
مثال پنجم
در این مثال میخواهیم نامهایی که با حرف "م" شروع میشوند را حذف کنیم. برای اینکار مینویسیم:
Delete
From People
Where FName Like N'م%'
خروجی:
-
مثال ششم
در این بخش میخواهیم یک مثال متفاوت بزنیم. گفتیم که اگر دستور delete را بدون شرط استفاده کنید تمام جدول شما پاک میشود. حالا میگوییم، میتوانید اینکار را انجام دهید به شرطی که قبل از from از Top استفاده کنید. در دستور زیر ما 5 سطر اول را حذف کردیم.
Delete Top(5)
From People
خروجی:
-
مثال هفتم
در قطعه کد پایین نشان خواهیم داد که چگونه میتوانید 10 درصد از بالای جدول خود را حذف کنید.
Delete Top(10) Percent
From People
خروجی:
کلام آخر:
آموزش دستور delete در sql server، اینجا به پایان رسید. شما میتوانید برای یادگیری بهتر خود فیلم تهیه شده در اینباره را مشاهده کنید. حتما نظرات و پیشنهادات خود را با ما در میان بگذارید و اگر سوالی ذهنتان را مشغول کرده با انجمن پرسش و پاسخ درسمن که در پایین صفحه برای شما قرار داده شده، در میان بگذارید. امید آنکه بیش از پیش موفق و مؤید باشید.
نظر شما در تصمیم دیگران اثرگذار است.
لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.