نحوه به روزرسانی فقط ۱۰ ردیف اول در SQL

نحوه به روزرسانی فقط ۱۰ ردیف اول در SQL

نوشته شده توسط: تیم فنی نیک آموز
۱۲ آبان ۱۳۹۹
زمان مطالعه: ۱۳ دقیقه
۰
(۰)

مقدمه

به‌روزرسانی رکوردهای پایگاه‌داده یکی از اصلی‌ترین دستوراتی است که اغلب برنامه‌نویسان از آن استفاده می‌کنند. در حقیقت به اصلاح و ویرایش داده‌های قبلی پایگاه‌داده به‌روزرسانی گفته می‌شود. با کمک دستور ۱۰ TOP UPDATE می‌توان به ‌روز رسانی فقط ۱۰ ردیف اول در SQL را انجام داد.

اغلب برنامه‌های کامپیوتری علاوه بر بخش ظاهری، برای نمایش عملکرد مناسب به پایگاه‌داده نیاز دارند. این پایگاه‌داده‌ها اطلاعات برنامه را ذخیره می‌کنند و با پرس‌وجوهایی (کوئری) که برای آن نوشته می‌شود، توانایی خود را نشان می‌دهند. پایگاه‌داده مجموعه‌ای سازمان‌یافته از داده‌ها است. برای مدیریت این پایگاه‌ها از سیستم‌های مدیریت پایگاه‌داده (DBMS) استفاده می‌شود.

دوره کوئری نویسی نیک آموز

پایگاه‌داده؛ یکی از زبان‌های برنامه‌نویسی

از انواع زبان‌های برنامه‌نویسی، زبان برنامه‌نویسی پایگاه‌داده است. برنامه‌نویسان جهت ایجاد و استخراج داده‌ها از این زبان استفاده می‌کنند. در این راستا آن‌ها می‌توانند وظایفی از قبیل محدودکردن دسترسی به داده‌ها، تعریف و اصلاح و جستجوی داده‌ها را انجام دهند.

یکی از تخصص‌های موردتوجه در بازار کار برنامه‌نویسی پایگاه‌داده است. زبان‌هایی مثل SQL، PHP، پایتون، سی شارپ و… از جمله این زبان‌ها هستند. کلمه SQL مخفف عبارت Structured Query Language است. این عبارت به معنی زبان پرس‌وجوی ساختاریافته است؛ زبانی قدرتمند که برای استخراج داده‌های مرتبط و مفید از آن استفاده می‌شود.

SQL امکان درج، حذف و اصلاح داده‌ها را فراهم می‌کند. البته با وجود کاستی‌هایی همچنان یکی از محبوب‌ترین زبان‌های پایگاه‌داده است. در بازار کار امروزی، دانستن حداقل یک زبان برنامه‌نویسی پایگاه‌داده نه‌تنها یک الزام بلکه یک ضرورت است. از نظر مؤسسه ANSI (American National Standards Institute) که به مؤسسه استاندارد ملی آمریکا معروف است، SQL زبانی استاندارد برای مدیریت پایگاه‌داده است.

UPDATE یک رکورد مشخص در SQL

می‌توان رکوردهایی که با کمک عبارت فیلتر WHERE جداسازی شده‌اند را به‌طورکلی به‌روزرسانی کرد. این به‌روزرسانی می‌تواند شامل اضافه‌کردن، حذف کردن یا تغییر در رکوردهای پایگاه‌داده باشد. این روند می‌تواند به ‌روز رسانی فقط ۱۰ ردیف اول در SQL را باتوجه‌به شروط دستور WHERE انجام دهد.

همگی این عملکردها از مسئولیت‌های اصلی پایگاه‌داده است. این تغییرات تنها بر روی رکوردها و ستون‌های مشخص شده اعمال می‌شود و به سایر داده‌ها ارتباطی ندارد.

برای درک بهتر این دستور بهتر است از ابتدا با مثال آغاز کنیم. فرض کنید جدولی به نام suppliers داریم که شامل ستون‌های ID، نام شرکت (company name)، نام مسئول (contact person name) و حجم محصولات (volume of products) می‌شود. به طور خیلی ساده می‌خواهیم نام مسئول شرکت شماره ۹ آن را از Phyllis Vance به Pam Beesly تغییر دهیم. کوئری که برای آن نوشته خواهد شد به این صورت خواهد بود:

UPDATE suppliers
SET contact_name = 'Pam Beesly'
WHERE id = 9;

نام جدول بعد از کلمه کلیدی UPDATE نوشته می‌شود که قصد داریم آن را اصلاح کنیم. با کلمه SET تعیین می‌کنیم که کدام ستون را تغییر می‌دهیم و مقدار جدید را بعد از آن اضافه می‌کنیم. چنانچه بخواهیم از شرطی استفاده کنیم، از کلمه WHERE کمک گرفته و مشخص می‌کنیم کدام ردیف با چه مقداری به‌روز شود.

 

 

UPDATE TOP (N) tablename
SET columnname = value;

 

حرف N در خط اول برای تعیین تعداد ردیف‌هایی که از ابتدای جدول قصد تغییر آنها را داریم، استفاده می‌شود. tablename نام جدول و columnname نام ستون و value مقدار جدید برای تغییر است. فرض کنید جدولی به نام Customers داریم که سه ستون CustomerID، CustomerName و Credit دارد. مقدار پیش‌فرض ستون Credit برابر NULL است. می‌خواهیم مقدار Credit 10 مشتری اول جدول را به ۱۰۰ تغییر دهیم. با استفاده از دستور UPDATE TOP، کد به این صورت خواهد بود:

UPDATE TOP (10) Customers
SET Credit = ‘۱۰۰’;

 

این کد به ‌روز رسانی فقط ۱۰ ردیف اول در SQL در جدول صورت می‌گیرد.

 

 

به‌روزرسانی تعداد مشخصی از رکوردها

مسائل و سناریوهای مختلفی ممکن است در روند اجرای برنامه پیش آید که لازم باشد تعداد مشخصی از رکوردهای جدول را به‌روزرسانی کنیم. ردیف‌هایی که می‌خواهیم تغییر کنند را با دستور WHERE مشخص و جدا می‌کنیم. در این مثال می‌خواهیم به ‌روز رسانی فقط ۱۰ ردیف اول در SQL را انجام دهیم.

جدول مثال اول را در نظر بگیرید. می‌خواهیم ستون جدیدی با عنوان top_supplier به آن اضافه کنیم که دو مقدار YES/NO را قبول می‌کند. مقدار YES درصورتی‌که تأمین‌کننده برتر بوده و مقدار NO درصورتی‌که تأمین‌کننده برتر نبوده است. به طور پیش‌فرض مقدار این ستون برابر NO بوده و کد آن به‌صورت زیر خواهد بود:

 

ALTER TABLE suppliers
ADD top_supplier varchar(32);

UPDATE suppliers
SET top_supplier = 'No';

برای به ‌روز رسانی فقط ۱۰ ردیف اول در SQL ، ابتدا جدول را بر اساس ستون volume_2021 مرتب‌سازی کرده و ۱۰ رکورد اول آن را بر اساس ID به‌روزرسانی می‌کنیم. کد این نوع به‌روزرسانی در پایگاه‌داده‌های مختلف، متفاوت است که ما در اینجا در پایگاه‌داده SQL آن را انجام می‌دهیم. کد آن به‌صورت زیر خواهد بود:

 

UPDATE suppliers
SET top_supplier = 'Yes'
WHERE id IN(
SELECT TOP (10) id
FROM suppliers
ORDER BY volume_2021 DESC);

 

عبارت SELECT TOP() برای تعیین تعداد رکورد (ردیف) هایی که باید بازگردانده شود، به کار می‌رود. این عبارت در پایگاه‌داده‌های مایکروسافت مانند SQL SERVER و MSAccess به کار می‌رود. در این نمونه کد، عدد ۱۰ به معنی به ‌روز رسانی فقط ۱۰ ردیف اول در SQL است. مقدار این ستون را برای ده ردیف ابتدایی به YES تغییر می‌دهیم. مرتب‌سازی هم به‌صورت نزولی باتوجه‌به اطلاعات ستون volume_2021 مرتب‌سازی می‌شود.

آشنایی با دستور SELECT TOP

در بسیاری از پایگاه‌های داده‌ اندازه جدول به طور معمول ممکن است به میلیون‌ها ردیف برسد و ده‌ها ستون داشته باشد؛ به همین دلیل راه‌حل منطقی نیست که کوئری‌های دستور SELECT * را برای چنین پایگاه‌داده‌ای اجرا کنید. پایین نگه‌داشتن نتایج کمک می‌کند تا مجموعه‌ نتایج را به‌اندازه‌ای که راحت‌تر قابل‌مشاهده و کاربرد باشد، نگه دارید.این عبارت در پایگاه‌داده‌های عظیم بسیار کاربردی است و بر روی عملکرد و تجربه کاربری تأثیر دارد. SELECT TOP در سایر پایگاه‌داده‌ها به شکل دیگری نوشته می‌شود. در MYSQL به‌صورت LIMIT و در ORACLE به‌صورت FETCH FIRST n ROWS ONLY و ROWNUM نوشته می‌شود. ساختار کلی دستور SELECT TOP به این صورت است:

SELECT TOP (top_value) [ PERCENT ]
expressions
FROM tables
[WHERE conditions]
[ORDER BY expression [ ASC | DESC ]];

 

TOP (top_value) تعداد ردیف‌هایی که باید برگرداننده شوند، به‌صورت عدد در پرانتز نوشته می‌شود. برای مثال به ‌روز رسانی فقط ۱۰ ردیف اول در SQL با کمک این دستور به همراه کلمه UPDATE و قراردادن عدد ۱۰ در پرانتز انجام می‌شود.
PERCENT هم برای نمایش یا به‌روزرسانی درصدی از جدول استفاده می‌شود. Expressions برای مشخص‌کردن محدوده ستون‌ها نوشته می‌شود. Table هم که نام جدول یا جدول‌هایی است که می‌خواهیم به ‌روز رسانی فقط ۱۰ ردیف اول در SQL در آنها انجام شود. البته اگر قبل از SELECT TOP عبارت UPDATE را استفاده کرده باشیم.
WHERE conditions اختیاری است و برای سفارشی کردن و جداسازی تعداد خاصی از ردیف‌ها استفاده می‌شود. ORDER BY هم عبارتی است که محتوای جدا شده را به‌صورت صعودی (ASC) و یا نزولی (DESC) مرتب‌سازی می‌کند.

مزایای یادگیری SQL

پایگاه‌داده چیزی است که در دنیای امروز به‌صورت گسترده استفاده می‌شود. تمامی کسب‌وکارها به روش‌های مختلف در حال جمع‌آوری داده هستند. در نتیجه فردی مسلط به Microsoft SQL Server، MySQL یا Oracle موقعیت کاری فراوانی خواهد داشت.

SQL زبان شفافی است و درک آن بسیار ساده‌تر از آن است که به نظر می‌رسد. از سوی دیگر SQL در مدیریت و ایجاد سرورها با حجم عظیمی از داده‌ها نیز تبحر دارد. با امکانات SQL قدرت تجزیه‌وتحلیل داده که امروزه به بخش ضروری از پیشرفت مشاغل تبدیل شده است، بسیار آسان‌تر خواهد بود.

نتیجه‌گیری

پایگاه‌داده‌ها یکی از اصلی‌ترین بخش‌های برنامه‌نویسی بوده و دسترسی به اطلاعات آن از نیازهای اصلی برنامه‌نویسان است. با فراگیری آموزش به ‌روز رسانی فقط ۱۰ ردیف اول در SQL به‌جای تمامی ردیف‌های پایگاه‌داده، می‌توان عملکرد برنامه را تا حد بسیار زیادی بهبود بخشید. در این صورت رضایت کاربر نیز افزایش ‌یافته و برنامه کاربردی طراحی خواهد شد.

 

 

برای بدست آوردن اطلاعات بیش‌تر در مورد دیگر دستورات SQL ، به مقاله زیر مراجعه کنید.
 
دستورهای SQL Server

چه رتبه ای می‌دهید؟

میانگین ۰ / ۵. از مجموع ۰

اولین نفر باش

title sign
معرفی نویسنده
تیم فنی نیک آموز
مقالات
237 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
تیم فنی نیک آموز
پروفایل نویسنده
title sign
دیدگاه کاربران

ثبت نام رایگان در همایش Tehran .NET Conf 2023 ، همین الان کلیک کنید
ثبت نام رایگان..
close-image