MySQL 如何通过选择基表的模式匹配数据来创建MySQL视图?
MySQL LIKE运算符用于基于模式匹配选择数据。同样,我们可以使用带有视图的LIKE运算符来从基表中根据模式匹配选择特定数据。为了理解这个概念,我们使用拥有以下数据的基表’student_info’ –
mysql> Select * from Student_info;
+------+---------+------------+------------+
| id | Name | Address | Subject |
+------+---------+------------+------------+
| 101 | YashPal | Amritsar | History |
| 105 | Gaurav | Chandigarh | Literature |
| 125 | Raman | Shimla | Computers |
| 130 | Ram | Jhansi | Computers |
| 132 | Shyam | Chandigarh | Economics |
| 133 | Mohan | Delhi | Computers |
+------+---------+------------+------------+
6 rows in set (0.00 sec)
阅读更多:MySQL 教程
例子
以下查询将创建一个名为’Info’的视图,通过使用’LIKE’运算符根据模式匹配选择一些特定值 –
mysql> Create or Replace view Info AS SELECT * from student_info WHERE Name LIKE '%Ra%';
Query OK,0 rows affected(0.11 sec)
mysql> Select * from Info;
+------+--------+------------+------------+
| id | Name | Address | Subject |
+------+--------+------------+------------+
| 105 | Gaurav | Chandigarh | Literature |
| 125 | Raman | Shimla | Computers |
| 130 | Ram | Jhansi | Computers |
+------+--------+------------+------------+
3 rows in set (0.00 sec)
我们也可以使用NOT与LIKE运算符,如下所示-
mysql> Create or Replace view Info AS SELECT * from student_info WHERE Name NOT LIKE'%Ra%';
Query OK,0 rows affected(0.14 sec)
mysql> Select * from info;
+------+---------+------------+-----------+
| id | Name | Address | Subject |
+------+---------+------------+-----------+
| 101 | YashPal | Amritsar | History |
| 132 | Shyam | Chandigarh | Economics |
| 133 | Mohan | Delhi | Computers |
+------+---------+------------+-----------+
3 rows in set (0.00 sec)