Oracle cập nhật nhiều cột

Oracle Cap Nhat Nhieu Cot



Hướng dẫn này sẽ hướng dẫn bạn cách cập nhật nhiều cột trong bảng cơ sở dữ liệu bằng cách sử dụng lệnh UPDATE.

Cập nhật nhiều cột trong bảng cơ sở dữ liệu là một hiện tượng phổ biến đối với người quản trị cơ sở dữ liệu. Ví dụ: bạn có thể cần đặt giá trị mới cho một cột dựa trên giá trị của một cột khác. Ví dụ: bạn có thể cập nhật giá trị tiền lương dựa trên cấp độ kỹ năng. Vì cấp độ kỹ năng có thể thay đổi nhiều lần theo thời gian nên bạn có thể thấy mình đang cập nhật một cột như vậy.

Hãy để chúng tôi tìm hiểu cách chúng tôi có thể sử dụng mệnh đề CẬP NHẬT trong Oracle để đặt các giá trị mới cho các cột bảng đã cho.







Tuyên bố CẬP NHẬT của Oracle

Để cập nhật giá trị trong một bảng hiện có, chúng tôi sử dụng câu lệnh CẬP NHẬT như được hiển thị trong cú pháp sau:



CẬP NHẬT tên_bảng
ĐẶT cột1 = new_value1,
cột2 = new_value2,
...
cộtN = new_valueN
điều kiện WHERE;

Ở đâu:



  1. Table_name đại diện cho tên của bảng mà bạn muốn cập nhật.
  2. Cột_1, cột_2,…,cộtN xác định tên của các cột mà bạn muốn cập nhật.
  3. New_value1, new_value2,…new_valueN cho phép bạn đặt giá trị mới cho mỗi cột.
  4. Điều kiện là mệnh đề tùy chọn cho phép bạn giới hạn các hàng được cập nhật. Nếu bạn bỏ qua mệnh đề điều kiện, câu lệnh sẽ cập nhật tất cả các hàng trong bảng.

Ví dụ cập nhật Oracle

Chúng ta hãy xem một ví dụ thực tế về cách chúng ta có thể sử dụng câu lệnh UPDATE trong Oracle:





TẠO cơ sở dữ liệu BẢNG (
tên VARCHAR2 ( năm mươi ) CÓ GIÁ TRỊ,
default_port SỐ,
phiên bản mới nhất VARCHAR2 ( hai mươi ) CÓ GIÁ TRỊ,
loại VARCHAR2 ( hai mươi ) CÓ GIÁ TRỊ,
ngôn ngữ VARCHAR2 ( hai mươi ) CÓ GIÁ TRỊ
) ;

Câu lệnh được cung cấp sẽ tạo một bảng để lưu trữ cơ sở dữ liệu mới nhất, cổng mặc định, phiên bản cơ sở dữ liệu mới nhất, loại cơ sở dữ liệu và ngôn ngữ lập trình được sử dụng để xây dựng cơ sở dữ liệu.

Chúng ta có thể chèn một số bản ghi mẫu như sau:



CHÈN VÀO cơ sở dữ liệu ( tên, default_port, latest_version, loại , ngôn ngữ )
GIÁ TRỊ ( 'Nhà tiên tri' , 1521 , '19c' , 'quan hệ' , 'SQL' ) ;
CHÈN VÀO cơ sở dữ liệu ( tên, default_port, latest_version, loại , ngôn ngữ )
GIÁ TRỊ ( 'MySQL' , 3306 , '8.0' , 'quan hệ' , 'SQL' ) ;
CHÈN VÀO cơ sở dữ liệu ( tên, default_port, latest_version, loại , ngôn ngữ )
GIÁ TRỊ ( 'PostgreSQL' , 5432 , '13' , 'quan hệ' , 'SQL' ) ;
CHÈN VÀO cơ sở dữ liệu ( tên, default_port, latest_version, loại , ngôn ngữ )
GIÁ TRỊ ( 'MongoDB' , 27017 , '4.4' , 'không quan hệ' , 'Javascript' ) ;
CHÈN VÀO cơ sở dữ liệu ( tên, default_port, latest_version, loại , ngôn ngữ )
GIÁ TRỊ ( 'Máy chủ Microsoft SQL' , 1433 , '2017' , 'quan hệ' , 'T-SQL' ) ;
CHÈN VÀO cơ sở dữ liệu ( tên, default_port, latest_version, loại , ngôn ngữ )
GIÁ TRỊ ( 'Apache Cassandra' , 9042 , '4.0' , 'không quan hệ' , 'Java' ) ;
CHÈN VÀO cơ sở dữ liệu ( tên, default_port, latest_version, loại , ngôn ngữ )
GIÁ TRỊ ( 'làm lại' , 6379 , '6.0' , 'không quan hệ' , 'C++' ) ;
CHÈN VÀO cơ sở dữ liệu ( tên, default_port, latest_version, loại , ngôn ngữ )
VAU ( 'MariaDB' , 3306 , '10,5' , 'quan hệ' , 'SQL' ) ;
CHÈN VÀO cơ sở dữ liệu ( tên, default_port, latest_version, loại , ngôn ngữ )
GIÁ TRỊ ( 'SQLite' , vô giá trị, '3.34' , 'quan hệ' , 'C' ) ;
CHÈN VÀO cơ sở dữ liệu ( tên, default_port, latest_version, loại , ngôn ngữ )
GIÁ TRỊ ( 'tân4j' , 7474 , '4.1' , 'không quan hệ' , 'Java' ) ;

LƯU Ý: default_port cho cơ sở dữ liệu SQLite được đặt thành NULL vì SQLite không có số cổng mặc định.

Bảng kết quả:

Bảng cập nhật Oracle

Giả sử chúng tôi muốn cập nhật phiên bản mới nhất, tên và cổng mặc định cho Microsoft SQL Server. Chúng tôi có thể thực hiện một truy vấn cập nhật như sau:

cập nhật cơ sở dữ liệu
bộ tên = 'Máy chủ MS SQL' ,
default_port = 1400 ,
phiên bản mới nhất = '2022'
tên giống chỗ nào 'Máy chủ Microsoft SQL' ;

Truy vấn sẽ định vị hàng có tên THÍCH “Microsoft SQL Server” và thay đổi tên, default_port và latest_version thành các giá trị mới.

LƯU Ý: Dữ liệu trước đó là dành cho mục đích trình diễn. Nó có thể không phản ánh chính xác thông tin cập nhật về cơ sở dữ liệu.

Sau khi cập nhật, chúng ta có thể xem bảng mới để thay đổi dữ liệu như sau:

Như chúng ta có thể thấy, bảng phản ánh những thay đổi được cập nhật.

Phần kết luận

Trong phần hướng dẫn này, bạn đã bắt gặp câu lệnh CẬP NHẬT cho phép bạn cập nhật một hoặc nhiều cột trong bảng cơ sở dữ liệu.

Tuy nhiên, giống như hầu hết các phương pháp cơ sở dữ liệu, nó có những nhược điểm tiềm ẩn. Ví dụ:

  1. Hiệu suất – Thực hiện cập nhật trên nhiều cột tốn nhiều thời gian và tài nguyên hơn so với cập nhật một cột. Điều này trở nên quan trọng hơn, đặc biệt là khi nhân một số lượng lớn các hàng với dữ liệu phức tạp.
  2. Tính toàn vẹn của dữ liệu – Một mối quan tâm khác khi cập nhật nhiều cột là tính toàn vẹn của dữ liệu. Nếu sử dụng không đúng cách, việc cập nhật nhiều cột có thể dẫn đến hỏng hoặc mất dữ liệu. Bạn có thể đi sâu vào các kỹ thuật chuẩn hóa dữ liệu khác nhau để giảm thiểu điều này, nhưng bạn nên luôn lưu ý. Bạn cũng có thể kiểm tra các truy vấn cập nhật của mình trong quá trình phát triển trước khi đưa chúng vào sản xuất.
  3. Độ phức tạp của truy vấn – Tương tự như vậy, việc chạy các câu lệnh cập nhật có thể làm tăng độ phức tạp của các truy vấn của bạn, khiến chúng khó đọc, khó bảo trì hoặc gỡ lỗi hơn.

Cuối cùng, việc cập nhật nhiều cột trong cơ sở dữ liệu Oracle có thể hữu ích trong một số trường hợp. Tuy nhiên, điều cần thiết là cân nhắc sử dụng các phương pháp hay nhất để giảm thiểu rủi ro.