SQL

دستور UPDATE در SQL

دستور UPDATE در SQL برای به روز رسانی داده‌های موجود در یک جدول استفاده می‌شود. این دستور یکی دیگر از دستورات CRUD (ایجاد، خواندن، به‌روزرسانی، حذف) در SQL است که برای مدیریت داده‌ها در پایگاه‌های داده به کار می‌رود.

اجزای دستور UPDATE:

  • UPDATE: کلمه کلیدی که نشان می‌دهد می‌خواهید رکوردها را به روز رسانی کنید.
  • table_name: نام جدولی که می‌خواهید رکوردهای آن را به روز رسانی کنید.
  • SET column_name = new_value, …: مشخص می‌کند که کدام ستون‌ها و با چه مقادیری به روز شوند.
  • WHERE (condition): (اختیاری) شرطی را تعیین می‌کند که مشخص می‌کند کدام رکوردها باید به روز شوند.

مثال۱:

فرض کنید جدول زیر را برای ذخیره اطلاعات دانشجویان داریم:

SQL
CREATE TABLE students (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(۲۵۵) NOT NULL,
  email VARCHAR(۲۵۵) NOT NULL,
  gpa DECIMAL(۳,۲)
);

برای به روز رسانی ایمیل دانشجویی با شناسه ۱ به new_email@example.com دستور زیر را اجرا می‌کنیم:

SQL
UPDATE students
SET email = "new_email@example.com"
WHERE id = ۱;

نکات:

  • در صورتی که از شرط WHERE استفاده نکنید، تمام رکوردهای جدول به روز رسانی می‌شوند.
  • می‌توانید چندین ستون را به طور همزمان به روز رسانی کنید.
  • می‌توانید از عبارات ریاضی و توابع برای تعیین مقادیر جدید استفاده کنید.
  • برای به روز رسانی رکوردها بر اساس اطلاعات جدول دیگر، می‌توانید از subquery استفاده کنید.

مثال‌۲:

  • به روز رسانی نمرات (gpa) تمام دانشجویان به A (فرض کنید معادل ۴ باشد):
SQL
UPDATE students
SET gpa = ۴;
  • به روز رسانی ایمیل تمام دانشجویانی که gpa آن‌ها بالاتر از ۳.۵ است:
SQL
UPDATE students
SET email = CONCAT(name, "@university.edu")
WHERE gpa > ۳.۵;

 

مثال ۳:

فرض کنید جدول زیر را برای ذخیره اطلاعات کارمندان داریم:

SQL
CREATE TABLE employees (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(۲۵۵) NOT NULL,
  email VARCHAR(۲۵۵) NOT NULL,
  department VARCHAR(۵۰) NOT NULL,
  salary DECIMAL(۱۰,۲) NOT NULL
);

مثال ۱: به روز رسانی نام و ایمیل کارمندی با شناسه ۵

SQL
UPDATE employees
SET name = "علی احمدی",
    email = "ali.ahmadi@example.com"
WHERE id = ۵;

مثال ۲: افزایش حقوق ۱۰ درصدی برای تمام کارمندان بخش “فروش”

SQL
UPDATE employees
SET salary = salary * ۱.۱
WHERE department = "فروش";

مثال ۳: به روز رسانی اطلاعات کارمندان بر اساس اطلاعات جدول دیگر

SQL
UPDATE employees
SET department = departments.name
FROM departments
WHERE employees.department = departments.old_name;

مثال ۴: استفاده از تابع برای به روز رسانی اطلاعات

SQL
UPDATE employees
SET email = CONCAT(name, "@", department, ".com")
WHERE department IN ("فروش", "بازاریابی");

مثال ۵: به روز رسانی اطلاعات به صورت گام به گام

SQL
BEGIN TRANSACTION;

UPDATE employees
SET salary = salary * ۱.۱
WHERE department = "فروش";

UPDATE employees
SET salary = salary * ۱.۲
WHERE department = "بازاریابی";

COMMIT TRANSACTION;

نکات:

  • در مثال‌های بالا، فقط برخی از ستون‌ها به روز شده‌اند.
  • می‌توانید از NULL برای نشان دادن مقدار خالی در یک ستون استفاده کنید.
  • در مثال ۵، از BEGIN TRANSACTION و COMMIT TRANSACTION برای اطمینان از به‌روزرسانی همزمان اطلاعات در دو بخش “فروش” و “بازاریابی” استفاده شده است.

نکته:

به یاد داشته باشید که قبل از اجرای هر دستور UPDATE، از اطلاعات خود نسخه پشتیبان تهیه کنید.

۰/۵ ( ۰ امتیاز )
نمایش بیشتر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا