কম্পিউটার টিউটোরিয়াল

MySQL-এ একদম সব সারিতে নির্দিষ্ট কলাম আপডেট করা (Bulk Update)

MySQL-এ কোনো শর্ত ছাড়া টেবিলের সব সারিতে একটি কলামের মান একই করে দিতে (bulk update) সরাসরি UPDATE স্টেটমেন্টে WHERE ক্লজ বাদ দিন।

সিনট্যাক্স

UPDATE table_name SET column_name = new_value;

উদাহরণ

CREATE TABLE bulk_change_demo (
    customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    customer_name VARCHAR(20),
    is_educated BOOLEAN
);

INSERT INTO bulk_change_demo (customer_name, is_educated) VALUES
('Larry', TRUE), ('John', FALSE), ('Carol', FALSE),
('Mike', TRUE), ('David', FALSE), ('Bob', FALSE);

আপডেট করার আগে

+-------------+---------------+-------------+
| customer_id | customer_name | is_educated |
+-------------+---------------+-------------+
| 1           | Larry         | 1           |
| 2           | John          | 0           |
| 3           | Carol         | 0           |
| 4           | Mike          | 1           |
| 5           | David         | 0           |
| 6           | Bob           | 0           |
+-------------+---------------+-------------+

সব সারিতে is_educated = TRUE সেট করুন

UPDATE bulk_change_demo SET is_educated = TRUE;

আউটপুট

Query OK, 4 rows affected (0.18 sec)
Rows matched: 6  Changed: 4  Warnings: 0

আপডেট করার পর

SELECT * FROM bulk_change_demo;
+-------------+---------------+-------------+
| customer_id | customer_name | is_educated |
+-------------+---------------+-------------+
| 1           | Larry         | 1           |
| 2           | John          | 1           |
| 3           | Carol         | 1           |
| 4           | Mike          | 1           |
| 5           | David         | 1           |
| 6           | Bob           | 1           |
+-------------+---------------+-------------+

সতর্কতা ও সেরা অনুশীলন

  • WHERE ক্লজ ছাড়া UPDATE খুব বিপজ্জনক — প্রোডাকশনে চালানোর আগে SELECT * FROM table WHERE condition দিয়ে প্রভাবিত সারি যাচাই করুন
  • ট্রানজ্যাকশন ব্যবহার করুন:
    START TRANSACTION;
    UPDATE bulk_change_demo SET is_educated = TRUE;
    -- SELECT * FROM bulk_change_demo; -- যাচাই করুন
    COMMIT; -- বা ROLLBACK;
  • ব্যাচ আপডেট (বড় টেবিলের জন্য):
    UPDATE bulk_change_demo SET is_educated = TRUE LIMIT 1000;
  • ব্যাকআপ নিন বড় আপডেটের আগে

শর্তসাপেক্ষ বাল্ক আপডেট

-- শুধু FALSE वाले গুলো TRUE করুন
UPDATE bulk_change_demo SET is_educated = TRUE WHERE is_educated = FALSE;
  1. MySQL-এ LIKE অপারেটরকে IN() এর মতো ব্যবহার করা

  2. MySQL-এ MD5() ফাংশন ব্যবহার করে পাসওয়ার্ডের হ্যাশ ভ্যালু আপডেট করা

  3. MySQL-এ একক কোয়ারিতে সব কলামের জন্য এলিয়াস (Alias) সেট করা

  4. MySQL-এ REGEXP_INSTR ব্যবহার করে সার্চ কোয়েরি করা