Lệnh Drop View trong MySQL
Trong bài viết này chúng ta sẽ tìm hiểu lệnh Drop View trong MySQL, đây là lệnh dùng để xóa một View bất kì ra khỏi database trong MySQL.
1. Giới thiệu lệnh Drop View trong MySQL
Lệnh Drop View sẽ xóa một view ra khỏi database, sau khi thực hiện bạn sẽ không thể phục hồi lại view đó được.
Cú pháp như sau:
DROP VIEW [IF EXISTS] view_name;
Trong đó:
Bài viết này được đăng tại [free tuts .net]
- Từ khóa DROP VIEW cho biết là bạn đang muốn xóa một view nào đó.
- Từ khóa IF EXISTS có thể có hoặc không. Nếu có thì sẽ không bị lỗi khi view không tồn tai, ngược lại sẽ bị lỗi.
Để xóa nhiều view cùng một lúc thì ta sử dụng cú pháp sau:
DROP VIEW [IF EXISTS] view_name1 [,view_name2]...;
Trong lệnh này nếu bạn không sử dụng từ khóa IF EXISTS thì chỉ cần một view không tồn tại là kết quả lênh SQL không được thực hiện, đồng nghĩa với việc không có view nào được xóa.
* Lưu ý: Phiên bản MySQL 5.7 trở về trước thì lại khác, nó trả về lỗi các view không tồn tại nhưng vẫn xóa những view tồn tai.
2. Cách dùng Drop View trong MySQL để xóa View
Hãy làm một vài ví dụ về xóa view để hiểu rõ hơn câu lệnh này.
Vi dụ 1: Xóa một view
Giả sử mình dùng lệnh sau để tạo view customerPayments
.
CREATE VIEW customerPayments AS SELECT customerName, SUM(amount) payment FROM customers INNER JOIN payments USING (customerNumber) GROUP BY customerName;
Sau đó mình dùng lệnh Drop View để xóa view vừa tạo đó.
DROP VIEW IF EXISTS customerPayments;
Ví dụ 2: Xóa nhiều view cùng một lệnh
Cho hai table có cấu trúc như sau:
Bây giờ mình tạo mới một view có tên là employeeOffices
.
CREATE VIEW employeeOffices AS SELECT firstName, lastName, addressLine1, city FROM employees INNER JOIN offices USING (officeCode);
Bạn hãy để ý nhé, mình chỉ mới tạo một view thôi, nên câu lệnh xóa 2 view dưới đây sẽ bị lỗi.
DROP VIEW employeeOffices, eOffices;
Lỗi thu được đó là:
Error Code: 1051. Unknown table 'classicmodels.eoffices'
Nhưng nếu ta thêm từ khóa IF EXISTS
thì chuyện gì xảy ra?
DROP VIEW IF EXISTS employeeOffices, eOffices;
Kết quả thu được:
1 warning(s): 1051 Unknown table 'classicmodels.eoffices'
Như vậy câu lệnh vẫn chạy thành công, chỉ là xuất hiện một cảnh báo lỗi.
Giả sử ta tạo thêm một view nữa dựa trên hai bảng sau:
CREATE VIEW productCatalogs AS SELECT productLine, productName, msrp FROM products INNER JOIN productLines USING (productLine);
Bây giờ chạy lênh Drop View để xóa hai views: productCatalogs và employeeOffices quá đơn giản.
DROP VIEW employeeOffices, productCatalogs;
Kết quả trả về thành công!
Như vậy mình đã hướng dẫn xong cách sử dụng lệnh Drop View trong MySQL để xóa các view. Chúc bạn thực hiện thành công!