Cơ sở dữ liệu của chúng tôi có một bảng tên là SELECT id, REPLACE( name, 'x', '10' ) as new_name, part_number FROM motorbike_sale WHERE id>1;8 với dữ liệu trong các cột SELECT id, REPLACE( name, 'x', '10' ) as new_name, part_number FROM motorbike_sale WHERE id>1;9, CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(100), lastname VARCHAR(100), city VARCHAR(100), designation VARCHAR(100));0 và CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(100), lastname VARCHAR(100), city VARCHAR(100), designation VARCHAR(100));1 Show
Chúng tôi muốn thay đổi số bộ phận của xe máy bằng cách thay thế tất cả các ký tự gạch nối bằng dấu gạch chéo về phía trước Giải pháp 1SELECT name, REPLACE( part_number, '-', '/' ) as new_part_number FROM motorbike_sale; Truy vấn này trả về danh sách tên xe máy và số bộ phận mới. Lưu ý các dấu gạch chéo về phía trước đã thay thế các dấu gạch nối trong số bộ phận namenew_ part_numberHarley Davidson x1245/AC2/25Honda CB750-x012/GK8/A8Suzuki Hayabusa X798/25/28Thảo luậnSử dụng hàm REPLACE() của MySQL để thay thế một chuỗi con (i. e. từ, ký tự, v.v. ) với một chuỗi con khác và trả về chuỗi đã thay đổi. Hàm này có ba đối số
Lưu ý rằng hàm này thay thế tất cả các lần xuất hiện của chuỗi con trong chuỗi hoặc cột đã cho. Trong ví dụ của chúng tôi, mỗi part_number chứa ba ký tự gạch nối, mỗi ký tự được thay thế bằng dấu gạch chéo Trong ví dụ tiếp theo, chúng tôi sẽ thay thế tất cả các phiên bản của 'x' trong tên xe máy bằng '10' Giải pháp 2SELECT id, REPLACE( name, 'x', '10' ) as new_name, part_number FROM motorbike_sale WHERE id>1; Truy vấn này sử dụng mệnh đề WHERE để lọc các bản ghi cho các hàng có giá trị id từ 2 trở lên Để ý tên xe máy Honda đổi từ 'x' thành '10' nhưng tên xe máy Suzuki không đổi. Tại sao không? . Do đó, 'x' không giống với 'X'. Trong ví dụ này, 'x' đã được thay thế bằng '10', nhưng 'X' không thay đổi Tìm hiểu về hàm REPLACE() của MySQL và Câu lệnh REPLACE INTO của MySQL với các ví dụ thông qua hướng dẫn này MySQL cung cấp 2 biến thể của REPLACE, một dưới dạng Hàm chuỗi REPLACE và một biến thể khác dưới dạng Câu lệnh REPLACE, giống như sử dụng Câu lệnh INSERT Như tên gợi ý, hàm REPLACE được sử dụng để thay thế biểu thức hoặc chuỗi phù hợp bằng Chuỗi hoặc giá trị thay thế được cung cấp làm đối số cho hàm => Nhấp vào đây để xem toàn bộ loạt bài hướng dẫn về MySQL Bạn sẽ học được gì THAY THẾ MYSQLHàm REPLACE thuộc danh mục Hàm chuỗi trong MySQL Có một biến thể khác có sẵn trong MySQL, đó là Câu lệnh REPLACE INTO. Không giống như thay thế một chuỗi cụ thể, câu lệnh REPLACE về cơ bản thay thế toàn bộ hàng trong bảng MySQL. Chúng ta sẽ xem các ví dụ cho cả hai biến thể Dữ liệu thử nghiệm Hãy tạo một bảng mẫu và thêm một số dữ liệu mẫu để hiểu rõ hơn về các khái niệm CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(100), lastname VARCHAR(100), city VARCHAR(100), designation VARCHAR(100)); INSERT INTO employee VALUES (1, 'Alex', 'Smith', 'Denver', 'Software Developer'), (2, 'Adam', 'Johnson', 'Vancouver', 'Marketing Manager'), (3, 'Peter', 'Fennel', 'Chicago', 'Sales Manager'), (4, 'Ajay', 'Sharma', 'Mumbai', 'Software Developer'), (5, 'Neha', 'Gupta', 'Delhi', 'Human Resources') cú pháp REPLACE(string-input, matching-string, replacement-string) Hãy cố gắng hiểu các thành phần khác nhau ở đây
Ghi chú. Điều quan trọng là phải hiểu hàm REPLACE thực hiện khớp PHÂN BIỆT TRƯỜNG HỢP THAY THẾ Ví dụ trong MySQL#1) Thay thế một ký tự trong một Chuỗi đã cho Ở đây, chúng tôi đang thay thế các lần xuất hiện của chữ cái 'H' bằng 'HH' và đặt bí danh cho cột mới bằng văn bản được thay thế là chuỗi thay thế SELECT REPLACE('HELLO', 'H', 'HH') as replaced_string; đầu ra đã thay thế_stringHHELLO #2) Thay thế Chuỗi bằng Đầu vào đã cho Ở đây chúng tôi đang thay thế chuỗi 'abt' bằng 'about' SELECT REPLACE('abt the product', 'abt', 'about') as replaced_string; đầu ra. replace_stringgiới thiệu về sản phẩm #3) Cập nhật bảng với câu lệnh REPLACE của MySQL Bây giờ chúng ta hãy xem một ví dụ mà chúng ta muốn cập nhật một cột trong bảng bằng cách sử dụng hàm REPLACE Xét dữ liệu mẫu cho bảng employee (tham khảo phần Test-Data của bài viết). Giả sử chúng tôi muốn cập nhật chỉ định và thay đổi từ `Manager` thành `Mgr` cho tất cả các hàng Chúng ta có thể dễ dàng đạt được điều này bằng cách sử dụng câu lệnh REPLACE UPDATE employee SET designation = REPLACE(designation,'Manager','Mgr') Thực thi câu lệnh SELECT để xem đầu ra ________số 8đầu ra idfirstnamelastnamecitydesignation1AlexSmithOhioSoftware Developer2AdamJohnsonVancouverMarketing Mgr3PeterFennelChicagoSales Mgr4AjaySharmaMumbaiSoftware Developer5NehaGuptaDelhiNhân sự Chúng ta có thể thấy trong bảng đầu ra ở trên, tất cả các chỉ định có từ ‘Quản lý’ đã được thay đổi thành ‘Mgr’ Các câu lệnh CẬP NHẬT với REPLACE rất hữu ích khi có thể thực hiện cập nhật hàng loạt đối với một giá trị cột mà không cần thay thế toàn bộ nội dung cột Ví dụ. Giả sử có một bảng chứa mô tả sản phẩm và nó có rất nhiều lỗi chính tả, ví dụ: about được đánh vần là about, v.v. Sau đó, bằng cách sử dụng REPLACE, điều này có thể dễ dàng đạt được trên toàn bộ bảng Câu lệnh THAY THẾ MySQLLệnh REPLACE hoạt động tương tự như INSERT, điểm khác biệt duy nhất là đối với hàng phù hợp, dữ liệu cho hàng hiện có sẽ được thay thế và nếu không có hàng hiện có (so với khóa chính/khóa duy nhất) thì một hàng mới sẽ được chèn cú pháp REPLACE INTO {table_name} [colName1, colName2 ...] VALUES (value_list) Hãy hiểu cú pháp
REPLACE Chế độ tuyên bốNó có thể hoạt động ở 2 chế độ
Hãy thử tìm hiểu cả hai chế độ trên thông qua một ví dụ #1) Chế độ Xóa và ChènĐối với dữ liệu mẫu mà chúng ta đã chèn ở trên, giả sử chúng ta muốn thay đổi giá trị cho employee#1 như bên dưới
Thực thi câu lệnh SELECT trước khi chạy câu lệnh REPLACE như bên dưới SELECT id, REPLACE( name, 'x', '10' ) as new_name, part_number FROM motorbike_sale WHERE id>1;0 đầu ra idfirstnamelastnamecitydesignation1AlexSmithDenverNhà phát triển phần mềm Bây giờ, chúng ta hãy thực hiện câu lệnh REPLACE SELECT id, REPLACE( name, 'x', '10' ) as new_name, part_number FROM motorbike_sale WHERE id>1;1 Bạn sẽ nhận thấy rằng đầu ra câu lệnh REPLACE trả về – 2 hàng bị ảnh hưởng Chạy câu lệnh SELECT cho employee_id-1 SELECT id, REPLACE( name, 'x', '10' ) as new_name, part_number FROM motorbike_sale WHERE id>1;0 đầu ra idfirstnamelastnamecitydesignation1AlexSmithOhioSoftware Architect #2) Chế độ ChènTrong trường hợp này, hàng được thay thế không khớp với các hàng hiện có và do đó Được chèn làm bản ghi mới Hãy thử THAY THẾ một hàng bằng id nhân viên – 6. INSERT INTO employee VALUES (1, 'Alex', 'Smith', 'Denver', 'Software Developer'), (2, 'Adam', 'Johnson', 'Vancouver', 'Marketing Manager'), (3, 'Peter', 'Fennel', 'Chicago', 'Sales Manager'), (4, 'Ajay', 'Sharma', 'Mumbai', 'Software Developer'), (5, 'Neha', 'Gupta', 'Delhi', 'Human Resources')1 Đầu ra của lệnh REPLACE sẽ trả về – 1 hàng bị ảnh hưởng, cho biết nó vừa thực hiện một INSERT Chạy lệnh SELECT để truy vấn dữ liệu trong bảng INSERT INTO employee VALUES (1, 'Alex', 'Smith', 'Denver', 'Software Developer'), (2, 'Adam', 'Johnson', 'Vancouver', 'Marketing Manager'), (3, 'Peter', 'Fennel', 'Chicago', 'Sales Manager'), (4, 'Ajay', 'Sharma', 'Mumbai', 'Software Developer'), (5, 'Neha', 'Gupta', 'Delhi', 'Human Resources')2 đầu ra idfirstnamelastnamecitydesignation1AlexSmithOhioKiến trúc sư phần mềm2AdamJohnsonVancouverGiám đốc tiếp thị3PeterFennelChicagoQuản lý bán hàng4AjaySharmaMumbaiNhà phát triển phần mềm5NehaGuptaDelhiNhân sự6MartinKlarkNew YorkNgười kiểm tra phần mềm Mẹo/Ghi chú quan trọng
Các câu hỏi thường gặpQ #1) Sự khác biệt giữa hàm REPLACE và câu lệnh REPLACE trong MySQL là gì? Câu trả lời. MySQL cung cấp 2 biến thể của MySQL REPLACE
Q #2) Làm cách nào để thay thế một hàng trong MySQL? Câu trả lời. Lệnh REPLACE INTO có thể được sử dụng để thay thế toàn bộ hàng trong MySQL. Hàng được khớp với KHÓA CHÍNH của bảng và nếu khớp khóa thành công thì hàng đó sẽ được thay thế Ví dụ SELECT id, REPLACE( name, 'x', '10' ) as new_name, part_number FROM motorbike_sale WHERE id>1;1 Lệnh trên sẽ thay thế giá trị bằng id-1 trong bảng nhân viên nếu ID là khóa chính và đã tồn tại một hàng có ID-1 Q #3) Làm thế nào để bạn thay thế một từ trong MySQL? Trả lời. Sử dụng hàm REPLACE() của MySQL, chúng ta có thể thay thế các ký tự riêng lẻ cũng như toàn bộ từ. thay thế ký tự INSERT INTO employee VALUES (1, 'Alex', 'Smith', 'Denver', 'Software Developer'), (2, 'Adam', 'Johnson', 'Vancouver', 'Marketing Manager'), (3, 'Peter', 'Fennel', 'Chicago', 'Sales Manager'), (4, 'Ajay', 'Sharma', 'Mumbai', 'Software Developer'), (5, 'Neha', 'Gupta', 'Delhi', 'Human Resources')4 đầu ra đã thay thế_stringTEEst thay thế từ INSERT INTO employee VALUES (1, 'Alex', 'Smith', 'Denver', 'Software Developer'), (2, 'Adam', 'Johnson', 'Vancouver', 'Marketing Manager'), (3, 'Peter', 'Fennel', 'Chicago', 'Sales Manager'), (4, 'Ajay', 'Sharma', 'Mumbai', 'Software Developer'), (5, 'Neha', 'Gupta', 'Delhi', 'Human Resources')5 đầu ra replace_stringXin Chào Bạn Phần kết luậnTrong hướng dẫn này, chúng ta đã tìm hiểu về cách sử dụng hàm REPLACE() của MySQL và Câu lệnh REPLACE INTO của MySQL. Cả hai biến thể đều rất hữu ích để thực hiện cập nhật hàng loạt hoặc thay thế chuỗi được nhắm mục tiêu trong một cột hoặc trường nhất định Hàm REPLACE() là một hàm Chuỗi và có thể được sử dụng để thay thế các từ hoặc ký tự trong một cột nhất định, trong khi câu lệnh REPLACE tương tự như câu lệnh INSERT và có thể được sử dụng để XÁC NHẬN hoặc THAY THẾ toàn bộ hàng trong bảng MySQL Làm cách nào để thay đổi giá trị trong MySQL?Mệnh đề SET được sử dụng để thay đổi giá trị của cột được chỉ định. Chúng tôi có thể cập nhật một hoặc nhiều cột cùng một lúc. . CẬP NHẬT tên_bảng SET cột_name1 = new-value1, column_name2=new-value2, [Mệnh đề WHERE] Làm cách nào để sử dụng thay thế trong MySQL?REPLACE [INTO] table_name(column_list) VALUES(value_list); . TẠO BẢNG Người ( ID int AUTO_INCREMENT PRIMARY KEY, Tên varchar(45) MẶC ĐỊNH NULL, Email varchar(45) MẶC ĐỊNH NULL DUY NHẤT, Thành phố varchar(25) DEFAULT NULL Làm cách nào để thay thế văn bản trong truy vấn MySQL?Sử dụng hàm REPLACE() của MySQL để thay thế một chuỗi con (i. e. từ, ký tự, v.v. ) với một chuỗi con khác và trả về chuỗi đã thay đổi. . Chuỗi để thay đổi. . Chuỗi con để thay thế (i. e. nhân vật '-') Chuỗi con để chèn (i. e. nhân vật '/') Làm cách nào để thay đổi giá trị trong cột MySQL?Lệnh MySQL UPDATE có thể được sử dụng để cập nhật nhiều cột bằng cách chỉ định danh sách cột_name = new_value được phân tách bằng dấu phẩy . Trong đó column_name là tên của cột sẽ được cập nhật và new_value là giá trị mới mà cột sẽ được cập nhật. |