سرفصل‌های آموزشی
آموزش SQL و MySQL
آشنایی با کاربرد دستور UPDATE در SQL

آشنایی با کاربرد دستور UPDATE در SQL

به منظور ویرایش مقادیر یک رکورد در جدول، از دستور UPDATE به شکل زیر استفاده می‌کنیم:

UPDATE table_name SET column1 = value1, column2 = value2, … WHERE condition;

به‌ عنوان مثال، در جدول students که در آموزش‌های قبل ساختیم به منظور تغییر مقدار فیلد name تمامی رکوردهایی که سن آن‌ها برابر (=) با ۲۵ است، می‌توان از کوئری زیر استفاده نمود:

UPDATE students SET name = 'Amir' WHERE age = 25;

در نظر داشته باشید با توجه به اینکه WHERE اصطلاحاً یک Clause (بَند) است که در اینجا مورد استفاده قرار گرفته است، لذا این احتمال وجود دارد که چندین رکورد دارای سن ۲۵ باشند که در این صورت مقدار فیلد name در چندین رکورد از جدول با همین یک دستور آپدیت می‌شود. همچنین نیاز به یا‌دآوری که در صورت حذف WHERE از کوئری فوق، مقدار فیلد name در تمام رکوردهای جدول آپدیت خواهد شد.

همان‌طور که در مثال بالا مشاهده می‌کنید، به دلیل اینکه فیلد age در جدول students یونیک (منحصربه‌فرد) نیست، بنابراین ممکن است چندین رکورد که دارای مقدار ۲۵ در فیلد age خود هستند نام‌شان به «Amir» تغییر کند که این موضوع می‌تواند در مواردی که می‌خواهیم فقط یک رکورد خاص، مثلاً رکوردی با نام «Ali» و شمارهٔ تلفن 33856972 را ویرایش کنیم دردسرساز شود که در چنین شرایطی بهترین راه‌حل می‌تواند استفاده از فیلدی باشد که دارای مقدار یونیک در هر رکورد از جدول است؛ بنابراین از یک فیلد یونیک که در اینجا فرض می‌کنیم id است، در کِلاز WHERE استفاده می‌کنیم.

توجه داشته باشید که در اکثر موارد مقدار فیلد id به‌ صورت خودکار توسط سیستم مدیریت پایگاه داده (مثلاً مای‌اس‌کیو‌ال) هنگام ایجاد یک رکورد جدید مقداردهی می‌شود و نیازی نیست تا دولوپر مقدار این فیلد را به‌ صورت دستی وارد کند. حال با این توضیحات فرض کنید مقدار id رکورد مد نظر ما برای تغییر فیلد name برابر با ۱ است که بدین ترتیب می‌توان کوئری آپدیت مد نظر خود را به‌ صورت زیر نوشت:

UPDATE students SET name = 'Amir' WHERE id = 1;

که در این صورت فیلد name اولین رکورد ثبت شده در دیتابیس مورد نظر آپدیت خواهد شد.

online-support-icon