视图和内置函数的理解(很奈斯...)

2023-11-06

一、视图介绍

视图,就是一张虚拟表/临时表,因为视图中表的结构和内容不是通过建表语句创建的,而是根据查询确定的。
创建视图语法:
create view 视图名称 as select查询语句;
create view goods_view as select goods_id,goods_name,c.cat_name from goods g left join category c on g.cat_id = c.cat_id;
在这里插入图片描述
删除视图的语法:
drop view 视图名称;

视图特点:
1.视图是虚拟表,因为视图中的数据来自于select查询
2.视图中数据的变化会影响到原表(基表),原表数据的变化也会影响到视图
mysql> update myview set comm=200 where empno=7369; //修改视图,对基表都有变化
mysql> update emp set comm=100 where empno=7369; //修改基表,对视图也有变化

二、视图作用

在这里插入图片描述
1、安全。一些数据表有着重要的信息。有些字段是保密的,不能让用户直接看到。这时就可以创建一个视图,在这张视图中只保留一部分字段。这样,用户就可以查询自己需要的字段,不能查看保密的字段。

2、性能。关系数据库的数据常常会分表存储,使用外键建立这些表的之间关系。这时,数据库查询通常会用到连接(JOIN)。这样做不但麻烦,效率相对也比较低。如果建立一个视图,将相关的表和字段组合在一起,就可以避免使用JOIN查询数据。

3、灵活。如果系统中有一张旧的表,这张表由于设计的问题,即将被废弃。然而,很多应用都是基于这张表,不易修改。这时就可以建立一张视图,视图中的数据直接映射到新建的表。这样,就可以少做很多改动,也达到了升级数据表的目的

三、mysql内置函数

这些内置的函数不区分大小写
在这里插入图片描述
current_date、current_time()、current_timestamp()
在这里插入图片描述
date(), year(),month(),day(),hour(),minute(),second()
分别获取当前的日期部分、年份、月份、日期、小时、分钟、秒
在这里插入图片描述
在这里插入图片描述
date_add()、date_sub()
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、自主练习

写出sql语句即可
创建一张留言表:
mysql> create table mes(id int , content varchar(256), sendtime datetime);
insert into mes values(3,”今天天气好晴朗”,” 2021-06-04 14:10:00”);
insert into mes values(1,”今天天气好晴朗”,” 2021-06-04 13:55:00”);

1.显示所有留言信息,发布日期只显示 日期,不用显示时间.
2.请查询在10分钟内发布的帖子
当前的时间:
发布帖子的时间:
当前时间 – 发布帖子的时间 < 10
注意:不仅要比较分钟,还要比较小时部分
在这里插入图片描述
where hour(timediff(now(),sendtime)) < 0 and minute(timediff(now(),sendtime))<10
3.请在mysql 的sql语句中求出 2020-11-11 和 1990-1-1 相差多少天
select datediff(“2020-11-11”,” 1990-1-1”);
4.请检索出1980年入职的雇员.(写出sql语句即可)

在这里插入图片描述
5.请检索出1980年2月份入职的雇员(写出sql语句即可)
获取月份:month()函数获取月份
年份是1981,并且月份是2月

在这里插入图片描述

五、mysql图形界面软件

  1. Navicat
  2. SQLyog
    这两个软件称为mysql客户端软件,用来连接mysql数据库服务器的,充当的作用和cmd命令行工具一样
    这里一Navicat为例进行操作:
  3. 先解压,解压之后将目录拷贝到D盘

在这里插入图片描述
2.将Navicat.exe发送到—桌面快捷方式
在这里插入图片描述
3.使用Navicat连接mysql数据库
在这里插入图片描述
4.使用Navicat创建数据库
在这里插入图片描述
5.使用Navicat创建数据表测试一下
双击数据库----新建表
在这里插入图片描述
在这里插入图片描述
打开数据表,向里面添加测试数据
在这里插入图片描述
在这里插入图片描述
要想查询还是得自己写sql语句
在这里插入图片描述
在这里插入图片描述

六、数据备份

右击数据库—转储SQL文件—
在这里插入图片描述
在这里插入图片描述
八、数据库导入
新建一个空的数据库,右击空的数据库----运行SQL文件
在这里插入图片描述
在这里插入图片描述

七、自主练习

1.使用Navicat创建数据库,名称为:ceshi,编码为:utf8,校对规则:utf8_general_ci;
2.使用Navicat在ceshi数据库下创建数据表,名称为:user
在这里插入图片描述
3.添加2条测试数据:
4.将ceshi数据库备份到桌面,文件名为:ceshi.sql
5.删除ceshi数据库
6.使用Navicat将桌面的ceshi.sql文件导入到mysql数据库服务器中

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

视图和内置函数的理解(很奈斯...) 的相关文章

随机推荐