18/08/2018, 10:55

(UPDATE) Cập nhật dữ liệu trong bảng trong MySQL

Từ khóa UPDATE được dùng để cập nhật dữ liệu (hàng) trong một bảng. Cú pháp cập nhật dữ liệu trong bảng UPDATE table_name SET column_name1=value1, column_name2=value2 WHERE column_name=value; Cú pháp trên có nghĩa là cập nhật giá trị của cột column_name1 thành value1, cập nhật giá trị ...

Từ khóa UPDATE được dùng để cập nhật dữ liệu (hàng) trong một bảng.

Cú pháp cập nhật dữ liệu trong bảng

UPDATE table_name
SET column_name1=value1, column_name2=value2
WHERE column_name=value;

Cú pháp trên có nghĩa là cập nhật giá trị của cột column_name1 thành value1, cập nhật giá trị của cột column_name2 thành value2 trong bảng table_name tại những hàng mà cột column_name có giá trị bằng value.

Một số ví dụ

Chúng ta có một bảng sinh_vien như sau:

(Bạn có thể bấm vào đây để download câu lệnh tạo bảng như bên dưới)

Full_name Gender Age City
Nguyen Thanh Nhan Nam 19 Can Tho
Pham Thu Huong Nu 20 Vinh Long
Nguyen Nhu Ngoc Nu 20 Soc Trang
Bui Thanh Bao Nam 19 Soc Trang
Le My Nhan Nu 22 Can Tho
Tan Thuc Bao Nam 35 An Giang
Trinh Giao Kim Nam 44 Bac Lieu

Ví dụ 1

Cập nhật thành phố của các sinh viên nam thành Hau Giang

UPDATE sinh_vien
SET City="Hau Giang"
WHERE Gender = "Nam";

Sau khi thực thi, bảng sinh_vien sẽ trở thành:

Full_name Gender Age City
Nguyen Thanh Nhan Nam 19 Hau Giang
Pham Thu Huong Nu 20 Vinh Long
Nguyen Nhu Ngoc Nu 20 Soc Trang
Bui Thanh Bao Nam 19 Hau Giang
Le My Nhan Nu 22 Can Tho
Tan Thuc Bao Nam 35 Hau Giang
Trinh Giao Kim Nam 44 Hau Giang

Ví dụ 2

Cập nhật họ tên thành "Bui Nguyen Khanh", tỉnh thành "Tien Giang" của sinh viên nam có tuổi 35.

UPDATE sinh_vien
SET Full_name="Bui Nguyen Khanh", City="Tien Giang"
WHERE (Gender="Nam") AND (Age=35);

Sau khi thực thi, bảng sinh_vien sẽ trở thành:

Full_name Gender Age City
Nguyen Thanh Nhan Nam 19 Can Tho
Pham Thu Huong Nu 20 Vinh Long
Nguyen Nhu Ngoc Nu 20 Soc Trang
Bui Thanh Bao Nam 19 Soc Trang
Le My Nhan Nu 22 Can Tho
Bui Nguyen Khanh Nam 35 Tien Giang
Trinh Giao Kim Nam 44 Bac Lieu

Lưu ý:

Đối với câu lệnh UPDATE, nếu bạn bỏ qua mệnh đề WHERE, thì toàn bộ các hàng trong bảng đều sẽ được cập nhật

Ví dụ

UPDATE sinh_vien
SET Full_name="A B C";

Sau khi thực thi, bảng sinh_vien sẽ trở thành:

Full_name Gender Age City
A B C Nam 19 Can Tho
A B C Nu 20 Vinh Long
A B C Nu 20 Soc Trang
A B C Nam 19 Soc Trang
A B C Nu 22 Can Tho
A B C Nam 35 An Giang
A B C Nam 44 Bac Lieu
0