به منظور ویرایش مقادیر یک رکورد در جدول، از دستور 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
اولین رکورد ثبت شده در دیتابیس مورد نظر آپدیت خواهد شد.