Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Che mật (mask) domain email người dùng trong MySQL

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 ý:

  • REPLACE thay 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)).