mysql中的视图

本文介绍了如何在MySQL中创建、查询、删除视图对象,以及视图在实际开发中的作用。视图提供了一种方式,可以将复杂的SQL语句抽象成易于管理和使用的对象,简化开发流程,并且在修改时只需改动一处。同时,通过示例展示了如何利用视图进行数据的增删改查,以及如何通过视图进行表的联合查询。视图的使用提高了代码的可读性和维护性。
摘要由CSDN通过智能技术生成

视图

怎么创建视图对象?怎么删除试图对象?
//表复制
create table dept2 as select * from dept;
//创建视图对象
create view dept2_view as select * from dept2;
//删除视图对象
drop view dept2_view;
用视图做什么

我们可以面向视图对象进行增删改查,对视图对象的增删改查,会导致原表被操作!

//面向视图查询
mysql> create view dept2_view as select * from dept2;
Query OK, 0 rows affected (0.18 sec)
//面向视图插入
mysql> select * from dept2_view;
+--------+------------+----------+
| DEPTNO | DNAME      | LOC      |
+--------+------------+----------+
|     10 | ACCOUNTING | NEW YORK |
|     20 | RESEARCH   | DALLAS   |
|     30 | SALES      | CHICAGO  |
|     40 | OPERATIONS | BOSTON   |
+--------+------------+----------+
4 rows in set (0.03 sec)
//查询原表数据
mysql> insert into dept2_view(deptno,dname,loc) values(60,'sales','beijing');
Query OK, 1 row affected (0.15 sec)

mysql> select * from dept2; 
+--------+------------+----------+
| DEPTNO | DNAME      | LOC      |
+--------+------------+----------+
|     10 | ACCOUNTING | NEW YORK |
|     20 | RESEARCH   | DALLAS   |
|     30 | SALES      | CHICAGO  |
|     40 | OPERATIONS | BOSTON   |
|     60 | sales      | beijing  |
+--------+------------+----------+
5 rows in set (0.03 sec)
//面向视图删除
mysql> delete from dept2_view;
Query OK, 5 rows affected (0.13 sec)
//查询原表数据
mysql> select * from dept2; 
Empty set
连表创建视图对象
mysql> create view emp_dept_view as select
    -> e.ename,e.sal,d.dname from emp e join dept d
    -> on e.deptno=d.deptno;
Query OK, 0 rows affected (0.17 sec)

mysql> select * from emp_dept_view;
+--------+---------+------------+
| ename  | sal     | dname      |
+--------+---------+------------+
| SMITH  |  800.00 | RESEARCH   |
| ALLEN  | 1600.00 | SALES      |
| WARD   | 1250.00 | SALES      |
| JONES  | 2975.00 | RESEARCH   |
| MARTIN | 1250.00 | SALES      |
| BLAKE  | 2850.00 | SALES      |
| CLARK  | 2450.00 | ACCOUNTING |
| SCOTT  | 3000.00 | RESEARCH   |
| KING   | 5000.00 | ACCOUNTING |
| TURNER | 1500.00 | SALES      |
| ADAMS  | 1100.00 | RESEARCH   |
| JAMES  |  950.00 | SALES      |
| FORD   | 3000.00 | RESEARCH   |
| MILLER | 1300.00 | ACCOUNTING |
+--------+---------+------------+
14 rows in set (0.03 sec)
视图对象在实际开发中的作用

假设有一条非常复杂的sql语句,而这条sql语句需要在不同的位置上反复使用。每一次使用这个sql语句的时候都需要重新编写,很长,很麻烦,怎么办?

可以把这条复杂的SQL语句以视图对象的形式新建。在需要编写这条SQL语句的位置直接使用视图对象,可以大大简化开发。并且利于后期的维护,因为修改的时候也只需要修改一个位置就行,只需要修改视图对象所映射的SQL语句。
我们以后面向视图开发的时候,使用视图的时候可以像使用table一样。可以对视图进行增删改查等操作。视图不是在内存当中,视图对象也是存储在硬盘上的,不会消失。

增删改查,又叫:CRUD。

CRUD是在公司中程序员之间沟通的术语,一般我们很少说增删改查。一般都说CRUD。

  • C:(增)
  • R:(查:检索)
  • U:(改)
  • D:(删)

DBA常用命令

重点掌握:

数据的导入和导出

  • 数据导出

    未登录

    //导出数据库
    mysqldump bjpowernode>D:\bjpowernode.sql -uroot -p123456
    //导出表
    mysqldump bjpowernode emp>D:\bjpowernode.sql -uroot -p123456
    
  • 数据导入

先创建数据库:create database bjpowernode;
使用数据库:use bjpowernode;
然后初始化数据库:source D:\bjpowernode.sql
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值