数据库视图

MySQL学习笔记2——事务的隔离级别

…衆ロ難τιáo~ 提交于 2019-12-31 02:12:43
文章目录 一、事务的隔离级别 二、事务隔离的实现 三、幻读 1.幻读是什么 2.幻读有什么问题 3.如何解决幻读 思考题 一、事务的隔离级别 提到事务,你肯定会想到 ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性),隔离级别就是“隔离性”的具体体现。 当数据库上有多个事务同时执行的时候,就可能出现脏读(dirty read)、不可重复读(non-repeatable read)、幻读(phantom read)的问题。 脏读 :当数据库中一个事务A正在修改一个数据但是还未提交或者回滚,另一个事务B 来读取了修改后的内容并且使用了, 之后事务A提交了,此时就引起了脏读。 此情况仅会发生在: 读未提交的的隔离级别. 不可重复读 :在一个事务A中多次操作数据,在事务操作过程中(未最终提交),事务B也才做了处理,并且该值发生了改变,这时候就会导致A在事务操作的时候,发现数据与第一次不一样了。 就是不可重复读。 此情况仅会发生在:读未提交、读提交的隔离级别. 幻读 :事务a 开启, 查询符合条件的数据 ,发现有10条, 准备将这10条记录修改, 此时事务b开启, 插入了一条符合事务a查询条件的记录. 提交事务, 回到事务a, a也提交事务, 当再次查询到时候, 发现修改了11条。感觉发生了幻觉一样. 此为幻读.

Hello-SpringMvc

梦想的初衷 提交于 2019-12-30 23:57:20
什么是SpringMVC MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。就是将业务逻辑、数据、显示分离的方法来组织代码 MVC主要作用是 降低了视图与业务逻辑间的双向偶合 。MVC不是一种设计模式, MVC是一种架构模式 。当然不同的MVC存在差异。 Model(模型) :数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和 服务层(行为Service)。也就是模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。 View(视图) :负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。 Controller(控制器) :接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责展示。 也就是说控制器做了个调度员的工作。 最典型的MVC就是 JSP + servlet + javabean 的模式。 Model1 在web早期的开发中,通常采用的都是Model1。 Model1中,主要分为两层,视图层和模型层。 Model1优点:架构简单,比较适合小型项目开发; Model1缺点:JSP职责不单一,职责过重,不便于维护 Model2

MySQL索引、视图

巧了我就是萌 提交于 2019-12-30 21:30:26
目录 什么是索引 理解索引 索引关键字的选取原则 创建索引 使用索引 删除索引 视图 创建视图 视图的作用 删除视图 什么是索引 汉语字典中的汉字按页存放,⼀般都有汉语拼音目录(索引)、偏旁部首目录等 我们可以根据拼音或偏旁部首,快速查找某个字词 理解索引 首先:先假设有⼀张表,表的数据有10W条数据,其中有⼀条数据是name=’newdream‘,如果要拿这条数据的话需要些的sql是 SELECT * FROM stu WHERE name= ’newdream' ⼀般情况下,在没有建立索引的时候,mysql需要扫描全表及扫描10W条数据找这条数据,如果在name字段上建立索引,那么mysql只需要扫描⼀⾏数据及为我们找到这条name=’newdream‘的数据,这样的情况下查询的速度会要提⾼很多 索引关键字的选取原则 索引的设计往往需要⼀定的技巧,掌握了这些技巧,可以确保索引能够⼤幅地提升数据检索效率,弥补索引在数据更新⽅面带来的缺陷。 原则1:表的某个字段值离散度越⾼,该字段越适合选作索引的关键字。 原则2:占用储存空间少的字段更适合选作索引的关键字。 原则3:较频繁地作为where查询条件的字段应该创建索引,分组字段或者排序字段应该创建索引,两个表的连接字段应该创建索引。 原则4:更新频繁的字段不适合创建索引,不会出现在where⼦句中的字段不应该创建索引。 原则5

DRF-视图家族

浪尽此生 提交于 2019-12-30 19:23:29
视图家族: ''' 1) views:视图类 -两个 -->APIViews,GenericAPIView(generics中) 2) mixins:视图工具类 - 五个类,六个方法 3) generics:工具视图类 - 九种组合 4) viewsets:视图集:两个视图基类、两个视图子类、一个工具类 ''' 视图类 #1、APIView: #1)拥有View的所有 2)重写as_view 3)重写dispatch 4)一系列类属性 #APIView class CarView(APIView): def get(self): obj, ser, response, #2、GenericAPIView #1)继承APIView,所以拥有APIView的所有 #2)get_queryset方法,配置queryset类属性,提供视图类相关的Models #3)在第二条基础上,get_object方法,配置lookup_url_kwarg类属性,提供视图类相关的具体Model #4)get_serializer方法,配置serializer_class类属性,提供视图类相关的序列化对象 #GenericAPIView class CarView(GenericAPIView): # 不会出现,中间产物 #这里需要注意:虽然源码给我们已经加了all()

PHP面试题整理

試著忘記壹切 提交于 2019-12-30 14:31:28
PHP部分: 一 : oop面向对象编程思想 面向对象部分:( https://www.cnblogs.com/-shu/p/4600987.html ) https://www.cnblogs.com/-shu/p/4600995.html https://www.cnblogs.com/-shu/p/4601002.html 1: 面向对象可以帮助我们解决以下问题 :1:方便扩展:代码的重构和重用 2:允许方法和成员变量隐藏,可控制哪些变量不允许被访问 3:使用设计模式,可以解决常见的设计问题 4:让代码调试更容易,可维护,效率更高。 2: 面向对象的特征: 封装:封装是面向对象结合在一起的机制,代码和操纵数据,并防止外界干扰和误用, 包装好的数据和方法到一个类作为封装。 继承: 通过扩展派生一个对象成为一个新对象的过程称为继承 。当你从另一个对象继承时,子类即继承派生的所有的属性和方法的超类。 多态性:对象可以来自父类或者保留父类的一部分属性。 3: public,private,protected权限修饰符 public: 修饰的属性或方法可以被其他类在外部访问。 protected: 修饰的成员变量或方法表示允许对象内部和子类的对象访问。 private : 只能由类本身的方法访问。 static : 静态方法虽然隶属于某个类,但他不受该类的束缚

db2用户权限

好久不见. 提交于 2019-12-30 05:19:03
前言: DB2数据库权限分为实例级权限(SYSADM、SYSCTRL、SYSMAINT、SYSMON)和DB2数据库级权限(DBAMD、LOAD)。DB2中用户所拥有的权限主要考虑三个方面:实例级、数据库级、数据库操作级别,查看命令是db2 get authorizations。 DB2授权可分为实例级权限授权和数据库级别授权,实例级别权限必须由拥有SYSADM权限的用户通过update cfg来授予用户组,数据库对象级别权限由DBAMD权限用户通过grant命令显示的授予用户或用户组。 一、DB2权限简介 DB2数据库权限分为实例权限级别(SYSADM、SYSCTRL、SYSMAINT、SYSMON)和DB2数据库权限级别(DBAMD、LOAD)。SYSCTRL、SYSMAINT、SYSMON权限级别的用户不能访问数据,DBAMD、LOAD权限级别的用户可以访问数据。 实例级别权限(只能在用户组级别上进行分配): SYSADM ----系统管理权限(UNIX系统中,SYSADM用户组默认地设置为实例拥有者所在的主用户组,因此,该组中的任何用户都拥有SYSADM权限) SYSCTL---- 系统控制权限 SYSMAINT---- 系统维护权限 数据库级别: dbadm---- 数据库管理权限(不能执行诸如删除数据库、创建和删除表空间、备份或者恢复数据库等等维护性和管理任务)

web开发框架之Django基础

会有一股神秘感。 提交于 2019-12-29 11:34:03
在脚本中如何进行Django的运行 if __name__ == '__main__': import os import django # 注意路径(当前所在的位置,要加载Django的配置文件) os.environ.setdefault("DJANGO_SETTINGS_MODULE","orm69.settings") django.setup() # 进行的操作 一.搭建环境 设置pip install 的源 创建虚拟环境 mkvirtualenv py6_django -p python3 查看当前目录下的虚拟环境 workon 设置Django的版本 pip install django==1.11.11 # 虚拟环境的指令 mkvirtualenv # 创建虚拟环境 rmvirtualenv # 删除虚拟环境 workon # 进入虚拟环境、查看所有虚拟环境 deactivate # 退出虚拟环境 ctrl + h 查看隐藏文件 # pip pip install # 安装依赖包 pip uninstall # 卸载依赖包 pip list # 查看已安装的依赖包 pip freeze # 冻结当前环境的依赖包 workon + py6_django 进入当前的虚拟环境 切换到桌面下的code中,将创建的项目放到里面 cd ~/Desktop/code django

数据库(Oracle)基本知识点总结

折月煮酒 提交于 2019-12-29 02:18:23
视图 标准视图 普通视图,又称为关系视图 内联视图 在使用SQL语句编写查询时临时构建的一个嵌入式的视图,又称内嵌视图 物化视图 存储查询的结果,之前称为快照 创建视图的语法 create [or replace][force | noforce] view [(alias[, alias]...)] as subquery [with check option [constraint]] [with read only [constraint]] 创建一个只读视图 create view CS_Students as select ID, first_name, last_name, major, current_credits from students where major='Computer Science' with read only 创建带 with check option 的视图 create or replace view his_classes as select department, course, description, max_students, current_students, num_credits, room_id from classes where department='his' with check option 多表视图

MySQL.数据处理(视图)

自作多情 提交于 2019-12-28 07:12:51
视图: 1.视图是一张虚拟表,其结构和数据是基于对表的查询基础上。 视图中是没有数据的,其数据都来自于基本表! 2.特点: (1)简化操作:将复杂查询定义为视图 (2)提高了数据的安全性:创建可控的环境,只能访问权限以内的数据,用户只能查询和修改显示的数据 (3)屏蔽数据库的复杂性:数据库管理员可以将难懂的列替换成用户易理解的 (4)数据及时更新 (5)便于数据共享 3.语法 create (or replace 【替换同名的】) view 图名 as select语句 with check option 视图中只能是一个select的完整语句!!! mysql > create or replace view v_book - > as - > select 图书名称 , 价格 , 出版社 from 图书信息 where 出版社 = 1 or 出版社 = 3 - > order by 出版社 ; Query OK , 0 rows affected mysql > select * from v_book ; + -- -- -- -- -- -- -- -- -- -- -- -- -- -- + -- -- -- + -- -- -- -- + | 图书名称 | 价格 | 出版社 | + -- -- -- -- -- -- -- -- -- -- -- -- -- -- +

Asp.net Core Mvc基础-学习笔记

白昼怎懂夜的黑 提交于 2019-12-28 05:39:02
ASP.NET CORE MVC 1. 默认配置 使用Kestrel Web Server ASP.NET Core内置,跨平台 IIS集成 UseIIS(),UseIISIntegration() Log IConfiguration接口 2. 路由 Convertional Routing 使用默认的方式 builder.MapRoute("Default", "{Controller}/{Action}/{Id?}"); 寻找路由 Attribute Routing 在Controller类或其中的方法上,添加路由信息 namespace Tutorial.Web.Controllers { [Route("[controller]")] public class AboutController { public string Me() { return "Dave"; } public string Company() { return "No Company"; } } } [Route("[controller]")] 或 [Route("stringname/[controller]/[action]")] 根据Controller的名字查找路由,也可以在方法名上定义 [Route("routeName")] 根据自己设定的routeName查找路由 3. 视图