数据库视图

oracle-视图(view)

匿名 (未验证) 提交于 2019-12-03 00:22:01
oracle-视图(view) ----------     ---------- --------- ---------   对简单视图进行DML操作:   SQL> insert into vw_emp values(1,'a','aa','05-JUN-88',10);   SQL> update vw_emp set ename='cc' where ename='KING';   SQL> delete vw_emp where ename='cc';   SQL> select * from vw_emp where deptno=10         ---------- ---------- --------- --------- ---------   基表也发生了相应的更改:   SQL> select empno,ename,job,hiredate,deptno from emp where deptno=10;    创建只读视图: with read only ;   删除视图:   可以删除当前模式中的任何视图;   drop view vw_test; 备注: 视图可以使用join,group by等子句,但复杂视图(多表连接、复合函数等)不能进行DML操作,只有简单视图可以进行DML操作。   使用数据字典视图   1 dba_views―

【狗书记录】第一部分 Flask简介

匿名 (未验证) 提交于 2019-12-03 00:22:01
本笔记只是个人记录,非指导、解惑类博客 客户端(例如Web 浏览器)把请求发送给Web 服务器,Web 服务器再把请求发送给Flask程序实例。处理URL 和函数之间关系的程序称为路由。 from flask import Flask app = Flask(__name__) @app.route('/') def index () : return '<h1>Hello World!</h1>' @app.route('/user/<name>') def user (name) : return '<h1>Hello, {}!</h1>' .format(name) if __name__ == "__main__" : app.run(debug= True ) index 函数称为视图函数(view function)。视图函数返回的响应可以是包含 HTML 的简单字符串,也可以是复杂的表.这个函数的返回值称为响应,是客户端接收到的内容 '/user/<name>' 尖括号中的内容就是动态部分,任何能匹配静态部分的URL 都会映射到这个路由上 Flask 使用上下文临时把某些对象变为全局可访问。有了上下文,就可以写出下面的视图函数: from flask import request app = Flask(__name__) @app.route('/') def

19 Django中间件

吃可爱长大的小学妹 提交于 2019-12-03 00:18:39
目录 一、前言 二、中间件介绍 2.1 什么是中间件 2.2 自定义中间件 2.3 自定义一个中间件示例 三、自定义中间价 process_request 四、自定义中间件 process_response 五、自定义中间件 process_view(了解) 六、自定义中间件方法 process_exception(了解) 七、自定义中间件 process_template_response(了解) 八、中间件的执行流程 九、中间件版登录验证 十、伪站请求伪造 十一、截取钓鱼网站的策略(伪站请求伪造) 1. {% csrf_token %} 2. Ajax解决 十二、csrf两种装饰器方式 一、前言 在前面的博客中已经介绍了给视图函数加装饰器来判断是用户是否登录,把没有登录的用户请求跳转到登录页面。我们通过给几个特定视图函数加装饰器实现了这个需求。但是以后添加的视图函数可能也需要加上装饰器,这样会稍微的有些繁琐 下面的内容即将让我们通过一些特点的方式实现控制全局的效果 二、中间件介绍 下面展示一张图来重新看一下,Django请求声明周期流程图 2.1 什么是中间件 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能。 但是由于其影响的是全局

中间件

╄→尐↘猪︶ㄣ 提交于 2019-12-03 00:18:02
目录 为什么学习中间件? 中间件 什么是中间件? 中间件能做什么? 需要掌握的 自定义中间件 自定义一个中间件示例 process_request process_response process_exception process_template_response(用的比较少) 中间件的执行流程 中间件版登录验证 为什么学习中间件? 在前面的博客中已经学会了给视图函数加装饰器来判断是用户是否登录,把没有登录的用户请求跳转到登录页面。我们通过给几个特定视图函数加装饰器实现了这个需求。但是以后添加的视图函数可能也需要加上装饰器,这样是不是稍微有点繁琐。 下面即将通过一些特点的方式实现控制全局的效果,减少自己写的代码。 中间件 什么是中间件? 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能。 但是由于其影响的是全局,所以需要谨慎使用,使用不当会影响性能。 说的直白一点中间件是帮助我们在视图函数执行之前和执行之后都可以做一些额外的操作,它本质上就是一个自定义类,类中定义了几个方法,Django框架会在请求的特定的时间去执行这些方法。 我们一直都在使用中间件,只是没有注意到而已,打开Django项目的Settings.py文件

Django框架之 中间件

人走茶凉 提交于 2019-12-03 00:13:48
目录 一、中间件介绍 二、自定义中间件 2.1 process_request 2.2 process_response 2.3 process_view 2.4 process_exception 2.5 process_template_response(用的比较少) 三、中间件的执行流程 四、中间件的应用场景 4.1 中间件版登录验证 五 CSRF_TOKEN跨站请求伪造 5.1 什么是csrf 5.2 csrf攻击原理 5.3 解决 5.4 csrf装饰器 附:Django请求流程图 一、中间件介绍 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统, 用于在全局范围内改变Django的输入和输出 。 每个中间件组件都负责做一些特定的功能 。 但是由于其影响的是全局,所以需要谨慎使用,使用不当会影响性能。 中间件位于web服务端与url路由层之间 说的直白一点中间件是帮助我们 在视图函数执行之前和执行之后都可以做一些额外的操作 ,它本质上就是一个自定义类,类中定义了几个方法,Django框架会在请求的特定的时间去执行这些方法。 我们一直都在使用中间件,只是没有注意到而已,打开Django项目的Settings.py文件,看到下图的MIDDLEWARE配置项,每一个配置项都对应着一个中间件。 请求来的时候

子查询|视图|事务

匿名 (未验证) 提交于 2019-12-03 00:13:02
# 增:insert into 表 select子查询 # 删:delete from 表 条件是select子查询(表不能与delete表相同) # 查:select 字段 from 表 条件是select子查询 # 改:update 表 set 字段=值 条件是select子查询(表不能与update表相同) # 数据来源:在单表emp下 # 子查询:将一条查询sql的结果作为另一条sql的条件 # 思考:每个部门最高薪资的那个人所有信息 # 子查询的sql select dep, max(salary) from emp group by dep; # 子查询 - 查 select * from emp where (dep, salary) in (select dep, max(salary) from emp group by dep); # 将子查询转换为一张表 # 创建一个存子查询数据的一张表 create table t1(dep_name varchar(64), max_salary decimal(5,2)); # 子查询 - 增 insert into t1 select dep, max(salary) from emp group by dep; # 需求 select name, dep_name, salary from emp join t1

Django-DRF(视图相关)

匿名 (未验证) 提交于 2019-12-02 23:51:01
  drf除了在数据序列化部分简写代码以外,还在视图中提供了简写操作。所以在django原有的django.views.View类基础上,drf封装了多个子类出来提供给我们使用。   Django REST framwork 提供的视图的主要作用: 控制序列化器的执行(检验、保存、转换数据) 控制数据库查询的执行 调用请求类和响应类(这两个类也是由drf帮我们再次扩展了一些功能类)。 一. 请求与响应   1. Request   REST framework 传入视图的request对象不再是Django默认的HttpRequest对象,而是REST framework提供的扩展了HttpRequest类的 Request 类的对象。   REST framework 提供了 Parser 解析器,在接收到请求后会自动根据Content-Type指明的请求数据类型(如JSON、表单等)将请求数据进行parse解析,解析为类字典[QueryDict]对象保存到 Request 对象中。   Request对象的数据是自动根据前端发送数据的格式进行解析之后的结果。   无论前端发送的哪种格式的数据,我们都可以以统一的方式读取数据。   常用属性: data 返回解析之后的请求体数据。类似于Django中标准的 request.POST 和 request.FILES 属性

使用Navicat生成ER关系图并导出

匿名 (未验证) 提交于 2019-12-02 23:48:02
使用Navicat生成ER关系图并导出 首先,我们打开已经设计好的表视图界面: 点击右下角的按钮切换到ER视图: 那些表与表之间相连接的就是外键,这个应该没问题。然后,我想到我要给领导汇报一下我的工作情况呀,直接截图截不完整不说,还很模糊。所以我想,会不会有什么办法可以将得到的关系图导出成pdf或者图片格式的文件呢?找了一会儿,发现确实有这个功能。 在数据库名字上,右击选择逆向数据库到模型。就可以看到生成的模型,可能会有些偏差,但是关系不会发生变化的。当然还可以在左边的工具栏选择对应的线条呀什么的,继续加工一下,然后就可以选择导出了。 原链接:https://blog.csdn.net/xu1227233860/article/details/78278393

##Django2.2.x框架:基础篇(二)

匿名 (未验证) 提交于 2019-12-02 23:47:01
model :模型,和数据库相关的 template :模板,存放html文件,模板语法(目的是将变量如何巧妙的嵌入到HTML页面中)。 views :视图函数 urls :url路径与视图函数的映射关系,,可以不是一一对应的。 创建一个Django项目 :django-admin startproject projectname 创建一个项目下的应用 :python3 manage.py startapp appname 运行 :python3 manage.py runserver IP PORT 功能:建立起url与视图函数的映射关系 url(正则表达式(规则),视图函数,[可选参数]) url: http://127.0.0.1:8080/blog/articles/2003/05?a=1&b=2 匹配字符串:用户输入的url对应的路径 /blog/articles/2003/05 (1)出现覆盖现象的情况,也就是匹配规则冲突的时候,匹配第一个url (2)无名分组:url(r'^articles/(\d{4})/(\d{2})$', views.year_month), # year(requset,1990,12) 按位置传参数 (3)有名分组:url(r'^articles/(?P \d{4})/(?P \d{2})$', views.year_month), #

30461索引与视图

匿名 (未验证) 提交于 2019-12-02 23:45:01
第8章 索引与视图 为了提高对数据表或视图的搜索效率。 8.1.2 何种情况下创建索引 8.1.3 索引的原理――B_树 (1)树中每个节点最多有m棵子树。 (2)根节点除外,所有非叶子节点至少都包含m/2棵子树。 (3)若根节点不是叶子节点,则根节点至少两棵子树。 (4)所有非叶子节点都包含相应的关键信息,一个包含k+1棵子树的非叶节点恰好包含k个关键字。 k表示关键字的个数。Ki(i=1,2,…,k)为关键字,且Ki < Ki+1。Ai(i=0,2,…,k)为指向相应子树根节点的指针,且指针Ai-1所指子树中所有节点的关键字均小于Ki(i=1,2,…,k),而Ai+1所指子树中所有节点的关键字均大于Ki(i=1,2,…,k-1) (5)所有的叶子节点都出现在同一层次上,并且叶子节点不包含任何关键字信息。 8.2.1 聚集索引和非聚集索引 1. 聚集索引(Clustered Index)     使用BETWEEN、>=、>、<=、<等运算符的查询     使用JOIN子句的查询     使用GROUP BY子句的查询     返回大结果集的查询     字段值唯一的字段(特别是标识字段),或绝大部分字段值都不重复的字段,如90%字段值都不重复的字段     按顺序被访问的字段     更新频繁的字段。因为在数据更新时,为保持与聚集索引的一致性必须移动表中的记录