Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Tạo VIEW trong MySQL chỉ khi chưa tồn tại (CREATE OR REPLACE VIEW)

MySQL hỗ trợ cú pháp CREATE OR REPLACE VIEW để tạo view mới hoặc thay thế view đã tồn tại mà không báo lỗi.

Cú pháp

CREATE OR REPLACE VIEW tên_view AS SELECT * FROM tên_bảng;

Ví dụ minh họa

Tạo bảng demo:

mysql> CREATE TABLE createViewDemo (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Name VARCHAR(20)
    -> );
Query OK, 0 rows affected (0.58 sec)

Chèn dữ liệu:

mysql> INSERT INTO createViewDemo(Name) VALUES('John'), ('Carol'), ('Bob'), ('Sam');

Xem dữ liệu bảng:

mysql> SELECT * FROM createViewDemo;
+----+-------+
| Id | Name  |
+----+-------+
| 1  | John  |
| 2  | Carol |
| 3  | Bob   |
| 4  | Sam   |
+----+-------+

Tạo hoặc thay thế view:

mysql> CREATE OR REPLACE VIEW New_ViewDemo AS SELECT * FROM createViewDemo;
Query OK, 0 rows affected (0.13 sec)

Kiểm tra view:

mysql> SELECT * FROM New_ViewDemo;
+----+-------+
| Id | Name  |
+----+-------+
| 1  | John  |
| 2  | Carol |
| 3  | Bob   |
| 4  | Sam   |
+----+-------+

Ưu điểm: Cú pháp này giúp tránh lỗi "View already exists" khi chạy script nhiều lần, rất hữu ích trong migration hoặc deployment tự động.

Lưu ý:CREATE OR REPLACE VIEW sẽ xóa view cũ và tạo mới, nên các quyền (privileges) gán cho view cũ sẽ bị mất.