Computer >> Máy Tính >  >> Lập trình >> MySQL

Xóa hàng khỏi chế độ xem có xóa hàng khỏi bảng cơ sở trong MySQL không?

Có, xóa hàng khỏi chế độ xem xóa hàng khỏi bảng cơ sở. Hãy để chúng tôi hiểu điều này bằng cách tạo một bảng mới. Truy vấn để tạo bảng như sau

mysql> create table deleteFromBaseTableDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> Name varchar(20)
   -> );
Query OK, 0 rows affected (0.83 sec)

Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -

mysql> insert into deleteFromBaseTableDemo(Name) values('John');
Query OK, 1 row affected (0.18 sec)
mysql> insert into deleteFromBaseTableDemo(Name) values('Carol');
Query OK, 1 row affected (0.15 sec)
mysql> insert into deleteFromBaseTableDemo(Name) values('Bob');
Query OK, 1 row affected (0.14 sec)
mysql> insert into deleteFromBaseTableDemo(Name) values('Sam');
Query OK, 1 row affected (0.14 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -

mysql> select *from deleteFromBaseTableDemo;

Sau đây là kết quả

+----+-------+
| Id | Name  |
+----+-------+
|  1 | John  |
|  2 | Carol |
|  3 | Bob   |
|  4 | Sam   |
+----+-------+
4 rows in set (0.00 sec)

Hãy để chúng tôi tạo một khung nhìn. Truy vấn để tạo một dạng xem như sau

mysql> create view delete_view as select Id,Name from deleteFromBaseTableDemo;
Query OK, 0 rows affected (0.17 sec)

Hãy để chúng tôi kiểm tra tất cả các bản ghi của chế độ xem. Truy vấn như sau -

mysql> select *from delete_view;

Sau đây là kết quả

+----+-------+
| Id | Name  |
+----+-------+
|  1 | John  | 
|  2 | Carol |
|  3 | Bob   |
|  4 | Sam   |
+----+-------+
4 rows in set (0.05 sec)

Bây giờ nếu bạn xóa khỏi chế độ xem thì nó cũng sẽ tự động xóa khỏi bảng cơ sở.

Truy vấn xóa hàng khỏi chế độ xem như sau

mysql> delete from delete_view where Id=4;
Query OK, 1 row affected (0.26 sec)

Hãy để chúng tôi kiểm tra tất cả các bản ghi từ chế độ xem và bảng mẹ. Truy vấn như sau -

mysql> select *from delete_view;

Sau đây là kết quả

+----+-------+
| Id | Name  |
+----+-------+
|  1 | John  |
|  2 | Carol |
|  3 | Bob   |
+----+-------+
3 rows in set (0.00 sec)

Truy vấn để hiển thị tất cả các bản ghi từ bảng cơ sở như sau

mysql> select *from deleteFromBaseTableDemo;

Sau đây là kết quả

+----+-------+
| Id | Name  |
+----+-------+
|  1 | John  |
|  2 | Carol |
|  3 | Bob   |
+----+-------+
3 rows in set (0.00 sec)

Nhìn vào cả hai kết quả đầu ra mẫu, Id có giá trị 4 đã bị xóa khỏi bảng mẹ cũng như khỏi chế độ xem.