MySQL之视图

MySQL提供了创建视图的方法,创建成功的视图,将添加到正在使用的数据库的数据表列表中。

一、 创建和查询视图

  • 使用create view 视图名称 as select查询语句;命令创建视图。
mysql> create view v_students as select * from student;
Query OK, 0 rows affected (0.01 sec)
  • 使用show tables;命令查看当前数据库下的数据表和视图。
mysql> show tables;
+----------------+
| Tables_in_TEMP |
+----------------+
| class          |
| student        |
| v_students     |
+----------------+
3 rows in set (0.00 sec)

二、使用视图

视图本身不存放数据,不允许添加、修改、删除数据,它只是将创建视图时填写的查询语句保存起来,当把视图当作数据表使用select查询时,重新执行一遍创建视图时的查询语句,将查询结果返回。

  • 使用select * from 视图名称;命令查看视图的内容。
mysql> select * from v_students;
+----+------+--------+--------+---------+
| id | age  | name   | gender | classID |
+----+------+--------+--------+---------+
|  1 |   20 | 小红   | 女     | 1       |
|  2 |   23 | 小名   | 男     | 2       |
|  3 |   21 | 小军   | 男     | 3       |
|  4 |   28 | 小兰   | 女     | 1       |
|  5 |   25 | 小夏   | 女     | 2       |
|  6 |   26 | 小建   | 男     | 4       |
+----+------+--------+--------+---------+
6 rows in set (0.01 sec)

可以对视图使用where、order by、group by、limit和连接进行处理。

四、视图的优点

  1. 提高了重用性,将查询语句记录下来供下一次使用。
  2. 对数据库重构,却不影响程序的运行。
  3. 提高了安全性能,根据用户类型提供数据表或视图。
  4. 让数据更加清晰。

你可能感兴趣的:(MySQL之视图)