Nhiều bảng cơ sở dữ liệu quản lý dữ liệu sẽ cần được thay đổi hoặc cập nhật theo thời gian. Lệnh SQL UPDATE có thể trợ giúp trong những tình huống này bằng cách cho phép bạn thay đổi các giá trị được lưu trữ trong một bảng Để cập nhật bản ghi, bạn phải cung cấp các cột sẽ xảy ra thay đổi và giá trị mới của chúng. Để cho MySQL biết bản ghi nào cần nhắm mục tiêu, bạn cũng cần đưa ra tiêu chí đối sánh để nó có thể xác định hàng hoặc các hàng cần thay đổi. Trong bài viết này, chúng ta sẽ thảo luận cách sử dụng UPDATE để thay đổi từng giá trị của dữ liệu bảng của bạn một lần hoặc hàng loạt Sử dụng UPDATE để sửa đổi dữ liệuCú pháp cơ bản của lệnh UPDATE trông như thế này UPDATE <table> SET <column1> = <value1>, <column2> = <value2> WHERE <match_condition>;
Như đã trình bày ở trên, cấu trúc cơ bản bao gồm ba mệnh đề riêng biệt - chỉ định một bảng để hành động,
- cung cấp các cột bạn muốn cập nhật cũng như các giá trị mới của chúng và
- xác định tiêu chí để xác định bản ghi nào phù hợp
Khi cam kết thành công, MySQL xác nhận hành động bằng cách xuất ra số hàng khớp và thay đổi Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0
LIÊN QUAN ĐẾN PRISMA. IO Để cập nhật dữ liệu với Prisma Client, hãy đưa ra lệnh Prisma là bộ công cụ cơ sở dữ liệu mã nguồn mở dành cho Typescript và Node. js nhằm mục đích giúp các nhà phát triển ứng dụng làm việc hiệu quả và tự tin hơn khi làm việc với cơ sở dữ liệu Cập nhật bản ghi dựa trên các giá trị trong bảng khácCác bản cập nhật dựa trên việc cung cấp dữ liệu bên ngoài mới tương đối đơn giản. Bạn chỉ cần cung cấp bảng, cột, giá trị mới và tiêu chí nhắm mục tiêu Tuy nhiên, bạn cũng có thể sử dụng UPDATE để cập nhật có điều kiện các giá trị bảng dựa trên thông tin được lưu trữ trong một. Cú pháp cơ bản trông như thế này UPDATE <table1>, <table2> SET <table1>.<column1> = <table2>.<column1> WHERE <table1>.<column2> = <table2>.<column2>;
Ở đây, chúng tôi đang cập nhật giá trị của Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0
2 trong bảng Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0
3 thành giá trị được lưu trữ trong Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0
2 của Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0
5, nhưng chỉ trong các hàng mà Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0
6 của Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0
3 khớp với Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0
6 của Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0
5. Mặc dù giá trị chỉ thay đổi trong một bảng, nhưng chúng ta cần thêm cả hai bảng vào danh sách các bảng mà UPDATE hoạt động trên đó. Cấu trúc UPDATE <table1>, <table2> SET <table1>.<column1> = <table2>.<column1> WHERE <table1>.<column2> = <table2>.<column2>;
1 chỉ định các điều kiện tham gia để tích hợp hai bảngVí dụ, giả sử rằng chúng ta có hai bảng tên là UPDATE <table1>, <table2> SET <table1>.<column1> = <table2>.<column1> WHERE <table1>.<column2> = <table2>.<column2>;
2 và UPDATE <table1>, <table2> SET <table1>.<column1> = <table2>.<column1> WHERE <table1>.<column2> = <table2>.<column2>;
3Mở rộng để xem các lệnh để tạo và điền các bảng này CREATE TABLE director ( id SERIAL PRIMARY KEY, name VARCHAR(200) NOT NULL, latest_film VARCHAR(200) );
CREATE TABLE film ( id SERIAL PRIMARY KEY, title VARCHAR(200) NOT NULL, director_id INT REFERENCES director(id), release_date DATE NOT NULL );
INSERT INTO director (name) VALUES ('frank'), ('bob'), ('sue');
INSERT INTO film (title, director_id, release_date) VALUES ('first movie', 1, '2010-08-24'), ('second movie', 1, '2010-12-15'), ('third movie', 2, '2011-01-01'), ('fourth movie', 2, '2012-08-02');
Hai bảng này có mối quan hệ với UPDATE <table1>, <table2> SET <table1>.<column1> = <table2>.<column1> WHERE <table1>.<column2> = <table2>.<column2>;
4 tham chiếu UPDATE <table1>, <table2> SET <table1>.<column1> = <table2>.<column1> WHERE <table1>.<column2> = <table2>.<column2>;
5. Hiện tại, UPDATE <table1>, <table2> SET <table1>.<column1> = <table2>.<column1> WHERE <table1>.<column2> = <table2>.<column2>;
6 cho bảng UPDATE <table1>, <table2> SET <table1>.<column1> = <table2>.<column1> WHERE <table1>.<column2> = <table2>.<column2>;
3 là UPDATE <table1>, <table2> SET <table1>.<column1> = <table2>.<column1> WHERE <table1>.<column2> = <table2>.<column2>;
8. Tuy nhiên, chúng ta có thể điền tên phim mới nhất của đạo diễn bằng cách sử dụng mệnh đề UPDATE <table1>, <table2> SET <table1>.<column1> = <table2>.<column1> WHERE <table1>.<column2> = <table2>.<column2>;
1 để mang hai bảng lại với nhauỞ đây, chúng tôi sử dụng mệnh đề CREATE TABLE director ( id SERIAL PRIMARY KEY, name VARCHAR(200) NOT NULL, latest_film VARCHAR(200) );
CREATE TABLE film ( id SERIAL PRIMARY KEY, title VARCHAR(200) NOT NULL, director_id INT REFERENCES director(id), release_date DATE NOT NULL );
INSERT INTO director (name) VALUES ('frank'), ('bob'), ('sue');
INSERT INTO film (title, director_id, release_date) VALUES ('first movie', 1, '2010-08-24'), ('second movie', 1, '2010-12-15'), ('third movie', 2, '2011-01-01'), ('fourth movie', 2, '2012-08-02');
0 để tạo Biểu thức bảng chung (CTE) có tên là CREATE TABLE director ( id SERIAL PRIMARY KEY, name VARCHAR(200) NOT NULL, latest_film VARCHAR(200) );
CREATE TABLE film ( id SERIAL PRIMARY KEY, title VARCHAR(200) NOT NULL, director_id INT REFERENCES director(id), release_date DATE NOT NULL );
INSERT INTO director (name) VALUES ('frank'), ('bob'), ('sue');
INSERT INTO film (title, director_id, release_date) VALUES ('first movie', 1, '2010-08-24'), ('second movie', 1, '2010-12-15'), ('third movie', 2, '2011-01-01'), ('fourth movie', 2, '2012-08-02');
1 mà chúng tôi có thể tham chiếu trong câu lệnh UPDATE của mìnhWITH latest_films AS ( SELECT f1.* FROM film f1 WHERE f1.id = (SELECT f2.id FROM film f2 WHERE f2.director_id = f1.director_id ORDER BY f2.release_date DESC LIMIT 1)) UPDATE director, latest_films SET director.latest_film = latest_films.title WHERE director.id = latest_films.director_id;
Nếu bạn truy vấn bảng UPDATE <table1>, <table2> SET <table1>.<column1> = <table2>.<column1> WHERE <table1>.<column2> = <table2>.<column2>;
3, nó sẽ hiển thị cho bạn bộ phim mới nhất của từng đạo diễn ngay bây giờSELECT * FROM director;
+----+-------+--------------+ id | name | latest_film | +----+-------+--------------+ 1 | frank | second movie | 2 | bob | fourth movie | 3 | sue | NULL | +----+-------+--------------+ 3 rows in set (0.00 sec)
Phần kết luậnTrong bài viết này, chúng tôi đã trình bày cách sử dụng lệnh UPDATE để thay đổi giá trị của các bản ghi MySQL hiện có. Lệnh UPDATE rất linh hoạt khi được kết hợp với các cấu trúc SQL khác, cho phép bạn sửa đổi dữ liệu theo những cách thú vị tùy theo các điều kiện và giá trị được tìm thấy trong cơ sở dữ liệu. Khi bạn đã quen với thao tác này, bạn sẽ có thể tìm ra những cách mới để thay đổi dữ liệu của mình cho phù hợp với yêu cầu của bạn
Làm cách nào để chỉnh sửa bảng trong MySQL?
Để truy cập Trình chỉnh sửa bảng MySQL, nhấp chuột phải vào tên bảng trong khu vực Bộ điều hướng của thanh bên với tab phụ Sơ đồ được chọn và nhấp vào Bảng thay đổi. This action opens a new secondary tab within the main SQL Editor window.
Làm thế nào bạn sẽ sửa đổi dữ liệu trong một bảng?
Để sửa đổi dữ liệu bảng thông qua chế độ xem . Trong Object Explorer, mở rộng cơ sở dữ liệu chứa dạng xem và sau đó mở rộng Dạng xem Bấm chuột phải vào chế độ xem và chọn Chỉnh sửa 200 hàng trên cùng Bạn có thể cần sửa đổi câu lệnh SELECT trong ngăn SQL để trả về các hàng cần sửa đổi
Làm cách nào để cập nhật dữ liệu trong MySQL?
Điều này sẽ sửa đổi bất kỳ giá trị trường nào của bất kỳ bảng MySQL nào. . cú pháp. Khối mã sau đây có cú pháp SQL chung của lệnh CẬP NHẬT để sửa đổi dữ liệu trong bảng MySQL − CẬP NHẬT tên_bảng SET trường1 = giá trị mới1, trường2 = giá trị mới2 [Điều khoản WHERE]. Thí dụ. . cú pháp. . Thí dụ
Làm cách nào để chỉnh sửa dữ liệu cơ sở dữ liệu?
Trong Trình duyệt DB, nhấp chuột phải vào bảng và chọn Chỉnh sửa dữ liệu. . Nhập bộ lọc cho các hàng, nếu muốn, trong trường Viết điều kiện vị trí của bạn. . Chọn ô bạn muốn chỉnh sửa và nhập giá trị mới. . Nhấn Enter để lưu các thay đổi của bạn vào cơ sở dữ liệu hoặc Esc để hủy thao tác chỉnh sửa
|