Sử dụng REPLACE() trong UPDATE để thay đổi domain email hàng loạt.
Ví dụ minh họa
Tạo bảng:
mysql> CREATE TABLE DemoTable1345 (UserEmailAddress TEXT);
Chèn email @gmail.com:
mysql> INSERT INTO DemoTable1345 VALUES('Carol123@gmail.com'), ('987Sam@gmail.com'), ('David_Miller@gmail.com'), ('Bob@gmail.com');
Xem dữ liệu:
mysql> SELECT * FROM DemoTable1345;
+------------------------+ | UserEmailAddress | +------------------------+ | Carol123@gmail.com | | 987Sam@gmail.com | | David_Miller@gmail.com | | Bob@gmail.com | +------------------------+
Thay @gmail.com → @amz.com:
mysql> UPDATE DemoTable1345 SET UserEmailAddress = REPLACE(UserEmailAddress, '@gmail.com', '@amz.com');
Kết quả:
mysql> SELECT * FROM DemoTable1345;
+----------------------+ | UserEmailAddress | +----------------------+ | Carol123@amz.com | | 987Sam@amz.com | | David_Miller@amz.com | | Bob@amz.com | +----------------------+
Lưu ý:
REPLACEthay thế tất cả lần xuất hiện. Nếu email có @gmail.com ở giữa (hiếm), cũng bị thay.- An toàn hơn:
WHERE UserEmailAddress LIKE '%@gmail.com'trong UPDATE. - Để mask một phần (giữ 3 ký tự đầu):
CONCAT(LEFT(SUBSTRING_INDEX(email, '@', 1), 3), '***@', SUBSTRING_INDEX(email, '@', -1)).