Chắc hẳn nhiều người sẽ rất đau đầu không biết phải làm sao để chỉnh sửa nhiều nội dung trong đống dữ liệu lên tới hàng chục nghìn, hay hàng trăm nghìn bản ghi. Điều này để thực hiện thủ công thì thật sự rất là mất thời gian và tốn rất nhiều công sức. Thay vào đó, mình sẽ chia sẻ cho mọi người một câu lệnh khá đơn giản có lẽ nhiều người sẽ không biết hoặc quên mất. Với câu lệnh này, bạn có thể chỉnh sửa nội dung hàng loạt, chỉ với một thao tác mà thôi.

Cần chuẩn bị những gì?

Để sử dụng câu lệnh này này điều đầu tiên là bạn phải sử dụng mysql và lên dùng thêm công cụ quản lý phpmyadmin để thực hiện đơn giản và dễ hơn tránh một số lỗi không đáng có. Các lâu lệnh cũng có áp dụng trong môi trường máy chủ.

Cách thực hiện

Để cho dễ hình dung, mình sẽ làm làm một ví dụ: Bạn có một trang web sử dụng WordPress với 50000 bài viết. Lúc này bạn muốn thay đổi địa chỉ trong nội dung từ Quảng Ninh thành Hà Nội. Ok các bước làm như sau:

Bước 1: Đây là bước quan trọng nhất (đặc biệt đối với những người lần đầu sử dụng câu lệnh này) đó là backup lại database. Truy cập phpmyadmin, nhấp vào tên Database, chọn mục Export => Go để tải xuống dữ liệu phòng khi các bước tiếp theo làm hỏng bạn có thể khôi phục lại.

Lệnh sao chép nội dung hàng loạt trong SQL

Bước 2: Đến bảng mà bạn muốn thay đổi nội dung, ở đây sẽ là bảng wp-posts và cột post_content. Lúc này bạn nhấn sang thanh Search, tìm cột post_content, mục Operator chọn LIKE%…%, ô Value nhập là Quảng Ninh rồi kéo xuống nhấn GO để tìm kiếm như hình.

Lệnh thay thế nội dung hàng loạt trong SQL

Một danh sách hiện ra, nó sẽ xuất hiện tất cả những bản ghi có nội dung (post_content) chứa từ Quảng Ninh. Bạn lên kiểm tra qua một lượt nếu tất cả đều ổn thì thực hiện bước tiếp theo.

Lệnh tìm kiếm và thay thế nội dung hàng loạt trong SQL

Bước 3: Tiếp theo, chuyển sang mục SQL để tiến hành nhập câu lệnh thay đổi nội dung hàng loạt như sau:

UPDATE wp_posts SET post_content = replace(post_content, 'Quảng Ninh', 'Hà Nội');

Nhìn qua chắc bạn cũng hiểu đúng không? Mình giải thích như sau:

wp_posts: Tên bảng dữ liệu, trường hợp bạn sử dụng bảng khác thì thay thế vào.

post_content: Cột dữ liệu trong bảng trên.

Quảng Ninh: Dữ liệu cũ trong nội dung.

Hà Nội: Dữ liệu mới mà bạn muốn thay thế.

Với câu lệnh này, bạn có thể thay thế nội dung hàng loạt chỉ với một thao tác rồi. Đối với bảng khác thì bạn cũng có thể làm tương tự.

Cậu lệnh thay đổi nội dung hàng loạt với điều kiện

Có một số trường hợp đến bước thứ 2, bạn kiểm tra xuất hiện một số bản ghi không phải là bài viết, hoặc nói đơn giản hơn thế này. Trên trang web bạn có nhiều tác giả, nhưng bạn muốn thay đổi nội dung hàng loạt với điều kiện bài viết đó chỉ của tác giả A. Lúc này ta phải thêm câu lệnh điều kiện thể thay đổi nội dung một cách chính xác nhất.

Ví dụ ở đây thì chúng ta sẽ chọn cột post_author làm điều kiện, vậy hãy thử kiếm tra trước bằng mục Search như hình:

[SQL] Lệnh tìm và sao chép nội dung hàng loạt trong PHPmyAdmin

Nếu danh sách bản ghi hiện ra đúng ý bạn, thì hãy dùng câu lệnh như sau:

UPDATE wp_posts SET post_content = replace(post_content, 'Quảng Ninh', 'Hà Nội') WHERE `post_author` = '1';

Giải thích:

WHERE: là câu lệnh điền kiện.

post_author: là cột tác giả.

1: là ID tác giả.

Cách phục hồi lại dữ liệu

Nếu trường hợp gặp lỗi, bạn tiến hành khôi phục lại dữ liệu bằng cách sau:

  1. Xóa toàn bộ tất cả bảng database bằng cách tích Check All và chọn Drop (Trường hợp bạn đã backup tất cả database, nếu bạn chỉ backup một bảng mà bạn đang chỉnh sửa thì chỉ cần xóa 1 bảng đó thôi).
  2. Tiếp đó, nhấp vào mục Import, tải lên file .sql.zip mà bạn vừa backup lên để khôi phục lại mọi thứ.
  3. Trường hợp gặp lỗi có thể do quá giới hạn tải lên của phpmyadmin, tìm đến file php.init để tăng giới hạn.

Hi vọng bài viết này sẽ giúp ích được cho nhiều người. Nếu có gì không hiểu có thể pm Fanpage để mình hỗ trợ.

Cùng thể loại