[SQL] Tìm kiếm và thay đổi nội dung hàng loạt trong Mysql (phpmyadmin)
Bạn đã bao giờ cần chỉnh sửa nội dung hàng loạt trên Website chưa? Ví dụ như đổi 1 số điện thoại trong 10.000 bài viết, thay đổi địa chỉ.... ? Tú gặp rất nhiều, với một số lượng bài lớn như vậy thì công việc sửa chữa này thật sự rất nhàm chán, và hôm nay Tú sẽ chia sẻ cho bạn một cách làm chúng tự động chỉ với một câu truy vấn cực kỳ đơn giản. Câu lệnh này sẽ tự động tìm kiếm trong 1 bảng dữ liệu, tìm 1 đoạn văn bản và thay thế nó bằng 1 đoạn văn bản khác. Từ nay, nếu bạn cần làm những công việc này, hãy sử dụng dòng lệnh này để tối ưu công việc của bạn. VD: Tú có 1 Website làm bằng Wordpress và Tú có 10.000 bài viết. Do trước đó Tú sử dụng số điện thoại 0934.616.316 và nay Tú đổi số mới là 0989.022.022. Bây giờ Tú phải vào 10.000 bài viết trên web, kiểm tra xem bài viết nào có số điện thoại cũ và sửa thành số mới. Nếu làm bằng tay chắc mất cả tháng, nhưng nếu làm bằng lệnh sau bạn chỉ mất 3s.
UPDATE wp_posts SET post_content = replace(post_content, '0934.616.316', '0989.022.022');
Giải thích: - wp_post là tên bảng dữ liệu
- post_content là một cấu trúc.
- 0934.616.316 là dữ liệu cũ
- 0989.022.022 là dữ liệu mới bạn muốn thay
- Bạn nên sao lưu dữ liệu trước khi chạy truy vấn (query) trên, tránh bị nhầm lẫn. (Nên backup bằng Sypex Dumper sẽ hạn chế lỗi và restore lại nhanh hơn).
- Để làm được việc này, bạn cần có quyền truy cập phpmyadmin (liên hệ với đơn vị cung cấp hosting họ sẽ cấp tài khoản và hướng dẫn bạn)
9 Bình luận
Bác nói thêm câu mỗi câu lệnh mà lại ko nói thêm câu lệnh đó vào đâu ?? Là mình ghi trong file Function hay ở đâu thế bạn ? Bác hướng dẫn cụ thê hơn xíu nhé ! Cám ơn bác
Cám ơn Tú, cám ơn bài viết này. Ko chắc mình khóc ròng luôn
Hi Ad, Mình có sđt và địa chỉ cần thay đổi. Mình có thể gom chung 1 lệnh để thay đổi sđt và địa chỉ được không? Giúp mình câu lệnh đó? Cảm ơn Ad?
Mình muốn thay đổi nội dung tất cả các sản phẩm trong WooCommerce thì sao ạ
Chào admin, Mình cũng có làm nhưng không hiểu sao vẫn không đăng nhập được. :(