Để cập nhật toàn bộ hàng trong MySQL, hãy sử dụng lệnh UPDATE. Bạn cần biết cột khóa chính. Cú pháp như sau để cập nhật toàn bộ hàng.
UPDATE yourTableName SET yourColumnName1 = ’yourValue1’ ,yourColumnName2 = ’yourValue2’ , yourColumnName3 = ’yourValue3’ ,.......................N WHERE yourPrimaryKeyColumnName = yourValue;
Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -
mysql> create table UpdateEntireRowDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20), -> Age int, -> Marks int, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.74 sec)
Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -
mysql> insert into UpdateEntireRowDemo(Name,Age,Marks) values('Sam',23,78); Query OK, 1 row affected (0.32 sec) mysql> insert into UpdateEntireRowDemo(Name,Age,Marks) values('Mike',21,99); Query OK, 1 row affected (0.16 sec) mysql> insert into UpdateEntireRowDemo(Name,Age,Marks) values('Carol',26,80); Query OK, 1 row affected (0.11 sec) mysql> insert into UpdateEntireRowDemo(Name,Age,Marks) values('John',22,71); Query OK, 1 row affected (0.16 sec) mysql> insert into UpdateEntireRowDemo(Name,Age,Marks) values('Bob',29,89); Query OK, 1 row affected (0.16 sec) mysql> insert into UpdateEntireRowDemo(Name,Age,Marks) values('David',25,68); Query OK, 1 row affected (0.20 sec) mysql> insert into UpdateEntireRowDemo(Name,Age,Marks) values('Larry',31,91); Query OK, 1 row affected (0.12 sec)
Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -
mysql> select *from UpdateEntireRowDemo;
Sau đây là kết quả -
+----+-------+------+-------+ | Id | Name | Age | Marks | +----+-------+------+-------+ | 1 | Sam | 23 | 78 | | 2 | Mike | 21 | 99 | | 3 | Carol | 26 | 80 | | 4 | John | 22 | 71 | | 5 | Bob | 29 | 89 | | 6 | David | 25 | 68 | | 7 | Larry | 31 | 91 | +----+-------+------+-------+ 7 rows in set (0.00 sec)
Sau đây là truy vấn để cập nhật toàn bộ hàng trong MySQL. Ở đây, tôi sẽ cập nhật hàng với Id 5.
Truy vấn như sau -
mysql> update UpdateEntireRowDemo -> set Name = 'James',Age = 19,Marks = 78 -> where Id = 5; Query OK, 1 row affected (0.12 sec) Rows matched: 1 Changed: 1 Warnings: 0
Bây giờ bạn có thể kiểm tra toàn bộ hàng đã được cập nhật. Truy vấn như sau -
mysql> select *from UpdateEntireRowDemo where Id = 5;
Sau đây là kết quả -
+----+-------+------+-------+ | Id | Name | Age | Marks | +----+-------+------+-------+ | 5 | James | 19 | 78 | +----+-------+------+-------+ 1 row in set (0.00 sec)
Hãy cho chúng tôi xem tất cả các bản ghi từ bảng.
mysql> select *from UpdateEntireRowDemo;
Kết quả hiển thị rằng toàn bộ hàng đã được cập nhật thành công:
+----+-------+------+-------+ | Id | Name | Age | Marks | +----+-------+------+-------+ | 1 | Sam | 23 | 78 | | 2 | Mike | 21 | 99 | | 3 | Carol | 26 | 80 | | 4 | John | 22 | 71 | | 5 | James | 19 | 78 | | 6 | David | 25 | 68 | | 7 | Larry | 31 | 91 | +----+-------+------+-------+ 7 rows in set (0.00 sec)