数据库视图

1101 笔记

*爱你&永不变心* 提交于 2019-12-03 05:12:45
目录 1. 事务 为什么要使用 使用 特性 原子性 一致性 隔离性 持久性 2.存储引擎 InnoDB MYIsam 区别 3.视图 定义 增加视图 查看视图 删除视图 4.触发器 语法 增加触发器 查看触发器 删除触发器 5.存储过程 定义 优点 缺点 总结 语法 创建 使用 删除 6.函数 7.数据库备份 语法 1. 事务 mysql主要用于处理操作量大,复杂度高的数据,比如在人员管理系统 你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务! 在mysql中只有使用了InnoDB数据库引擎的数据库或表才支持事务 事务处理可以维护数据库的完整性,保证成批的sql语句要么全部执行,要么全部不执行 事务用来管理insert,update,delete语句 为什么要使用 很多时候一个数据操作,不是一个sql语句就完成的,可能有很多个sql语句,如果部分sql执行成功而部分sql执行失败将导致数据错乱 eg: 转账 == 转入转出均成功,才能认为操作成功 使用 开启事务: start transaction sql语句: 提交: commit 回滚: rollback // 影响所有,回滚到初始 start transaction; --开启事物,在这条语句之后的sql将处在同一事务,并不会立即修改数据库

Day 37 SQL基础(五)

牧云@^-^@ 提交于 2019-12-03 05:01:07
目录 事务处理 开始事务 回滚事务 提交事务 事务的特性 存储引擎 什么是存储引擎 各存储引擎的特性 概览 各种存储引擎的特性 各存储引擎的介绍 视图 创建视图 删除视图 修改视图 触发器 创建触发器 删除触发器 存储过程 创建无参存储过程 创建有参存储过程 执行存储过程 删除存储过程 SQL函数 事务处理 事务用于将某些操作的多个SQL作为原子性操作,一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性 开始事务 start transaction 标识事务的开始 回滚事务 rollback 用来回退(撤销)SQL语句 select * from users; start transaction; update users set age = 18 where id = 120; delete from users where name = 'tiny'; rollback; select * from users; rollback只能在一个事务处理内使用,在执行一条start transaction命令之后 提交事务 commit 一般的MySQL语句都是直接针对数据库表执行和编写的.这就是所谓的隐含提交,即提交(写或保存)操作是自动进行的. 但是.在事务处理块中,提交不会隐含地进行.为进行明确的提交,使用commit语句 start transaction;

事务视图存储过程触发器数据备份

╄→尐↘猪︶ㄣ 提交于 2019-12-03 04:57:27
目录 事务 事务的特性 原子性(Atomicity): 一致性(Consistency): 隔离性(Isolation): 持久性(Durability): 存储引擎 InnoDB :保时捷引擎 MyIsam:奔奔引擎 视图 使用 增加视图 删除视图 触发器 存储过程 创建 函数 数据库的备份 语法 示列 事务 通俗的说,事物指一组操作,要么都执行成功,要么都执行失败 使用事务: start transactino sql语句 commit/rowllback # 演示: mysql> select * from t1; +----+------+--------+ | id | name | salary | +----+------+--------+ | 1 | aa | 1000 | | 2 | bb | 2000 | | 3 | dd | 3000 | +----+------+--------+ mysql> start transaction; mysql> update t1 set salary=100 where name='aa'; mysql> select * from t1; +----+------+--------+ | id | name | salary | +----+------+--------+ | 1 | aa | 100 | | 2

五、事务、视图、触发器、存储过程、函数和备份

大兔子大兔子 提交于 2019-12-03 04:42:38
目录 一、事务consaction (一)什么是事务 (二)事务的ACID特性 (1)原子性Atomicity (2)一致性consistency (3)隔离性Isolation (4)持久性Durability (二)存储引擎engine (1)InnoDB (2)MyIsam 二、视图view (一)增加视图 (二)删除视图 三、触发器trigger (一)创建触发器 (二)查看和删除触发器 四、存储过程procedure (一)创建存储过程 (二)删除存储过程 五、函数 六、数据库备份 一、事务consaction (一)什么是事务 事务是指一组操作,要么都执行成功,要么都执行失败 start consaction:开启事务 commit:提交确认 rollback:回滚,撤销 # 语法 start transaction; sql语句 commit/roll back; # 1. 事务下的代码在commit之后才会生效 # 2. 事务下的代码rollback之后会失效 (二)事务的ACID特性 (1)原子性Atomicity 指不能再分的事务,要么全部成功,要么全部失败 (2)一致性consistency 事务发生前和发生后,数据的总额依然匹配 (3)隔离性Isolation 某个事务的操作对其他事物不可见 (4)持久性Durability 当事务完成后,其影响应该保留下来

DRF框架总结

匿名 (未验证) 提交于 2019-12-03 00:43:02
序列化器类 1)如果定义的序列化器类不是针对于模型类,可以直接继承此类即可。 | ModelSerializer 1)序列化: python serializer = BookInfoSerializer(book) 获取序列化之后的字典数据 serializer.data 2)反序列化-数据验证 python serializer = BookInfoSerializer(data=data) serializer.is_valid() 3)反序列化-新增或更新 a)新增 python serializer = BookInfoSerializer(data=data) serializer.is_valid() serializer.save() ``` b)更新 python serializer = BookInfoSerializer(book, data=data) serializer.is_valid() serializer.save() 视图类 1)继承自View,封装了Django 本身的HttpRequest对象为Request对象。 1)继承自APIView,提供了操作序列化器和数据库数据的方法,通常和Mixin扩展类配合使用。 | ------------------ | -----------------------------------------

rest_framework中视图相关

匿名 (未验证) 提交于 2019-12-03 00:41:02
模型类的定义 # 定义图书模型类BookInfo class BookInfo(models.Model): btitle = models.CharField(max_length=20, verbose_name= ‘ 名称 ‘ ) bpub_date = models.DateField(verbose_name= ‘ 发布日期 ‘ ) bread = models.IntegerField(default=0, verbose_name= ‘ 阅读量 ‘ ) bcomment = models.IntegerField(default=0, verbose_name= ‘ 评论量 ‘ ) is_delete = models.BooleanField(default=False, verbose_name= ‘ 逻辑删除 ‘ ) class Meta: db_table = ‘ tb_books ‘ # 指明数据库表名 verbose_name = ‘ 图书 ‘ # 在admin站点中显示的名称 verbose_name_plural = verbose_name # 显示的复数名称 def __str__ (self): """ 定义每个数据对象的显示信息 """ return self.btitle 定义一个序列化器 from rest_framework import

Odoo中的继承

匿名 (未验证) 提交于 2019-12-03 00:40:02
https://www.cnblogs.com/cnodoo/p/9280003.html 在实际开发过程中,经常会遇到需要修改Odoo原生逻辑的情况。然而,直接修改Odoo底层代码,不利于后面odoo版本迭代时替换。因此,在不改变底层对象的时候添加新的功能,就显得十分重要。 继承修改可以发生:Python代码和XML视图、Qweb模版上 。 一:模型继承 # -*- coding: utf-8 -*- from odoo import models, fields, api class Sub(models.Model): _inherit = ‘Root‘ //通过_inherit属性来继承父模型 newCol=fields.XX.... //在下面添加新字段即可。 需要修改的属性显式重写 即可,会保留未修改的所有其他未在此处明确使用的字段的属性。 声明具有完全相同名称的方法来覆盖相应的方法 。 使用Python的 super() 方法来调用父方法。然后,可以在调用 super() 方法之前和之后,在原有逻辑周围添加新逻辑 。 允许一个模型以透明的方式包含其他模型 。通过 字典映射继承模型与字段的关系,并关联它们 。 相当于成员变量 :引用一个外部的类对象赋值给这个模型的一个成员,但是 对象的值是保存在被引用的类的数据库表中 的。但是在当前类通过成员修改了变量值

Oracle数据库---------------视图的定义与使用

匿名 (未验证) 提交于 2019-12-03 00:33:02
关于Oracle数据库的学习记录: 四十六、视图的定义与使用 视图是一个非常重要的团队开发工具对象 在所有学习过的SQL语句之中,查询是一件非常麻烦的事情,并且发现一般查询语句的代码实在是太长了,那么而这些代码如果写在程序里面会不方便进行程序的维护,那么在标准开发环境下,往往会由数据库的设计人员根据业务也要进行视图的定义以简化查询操作的代码编写,所以所谓的视图就是包装了复杂查询的SQL语句对象,如果要想创建视图,可以使用如下语法完成: CREATE [OR REPLACE] VIEW 视图名称 AS 子查询; 范例:创建视图 CREATE VIEW myview AS SELECT d.deptno,d.dname,d.loc,temp.count,temp.avg FROM dept d,( SELECT deptno dno,COUNT(empno) count,AVG(sal) avg FROM emp GROUP BY deptno) temp WHERE d.deptno=temp.dno(+); 以上如果在scott/tiger普通用户下进行,会缺少权限 在最早的的Oracle开发里面,以上的功能肯定是可以直接执行,从Oracle 10G R2版本开始,默认情况下SCOTT这个用户不具备创建视图的权限了 范例:为SCOTT用户授予创建视图的权限 CONN sys

数据库笔记-SQLday05

匿名 (未验证) 提交于 2019-12-03 00:30:01
数据库day05 --视图: --视图(VIEW)也被称作虚表,即虚拟的表,是一组数据的逻辑表示,其本质是对应于一条SELECT语句,结果集被赋予一个名字,即视图名字 --视图也是数据库对象,视图在SQL语句中体现的样子是表的样子,但是其并不是一张真实存在的表, --而是一个查询语句的结果集。使用视图通常是为了重用子查询。 CREATE VIEW v_emp_wensq AS SELECT empno,ename,sal,deptno FROM emp_wensq WHERE deptno = 10; --视图中对应的SELECT子句中的字段可以使用别名,这样视图对应的该字段的字段名就是别名了。 --当SELECT中的字段是函数或者表达式,那么视图要求该字段必须给别名! CREATE OR REPLACE VIEW v_emp_wensq AS SELECT empno id,ename name,sal salary,deptno FROM emp_wensq WHERE deptno = 10; --对视图进行DML操作,就是对视图数据来源的基表进行的。 --向视图插入数据: --DML只能对简单视图进行,复杂视图不允许进行DML操作。 --向视图插入数据: INSERT INTO v_emp_wensq (id, name,salary,deptno) VALUES

SAP_ABAP_视图

匿名 (未验证) 提交于 2019-12-03 00:30:01
SAP有4种视图:数据库视图、维护视图、投影视图和帮助视图。 1、数据库视图:通过inner join的方式把若干个数据库表连接起来,可以类似的作为一个数据库表在ABAP里使用; 2、维护视图:通过outer join的方式把数据表连接起来,可以作为维护表格内容的一种方式,很多配置都是通过维护视图实现的; 3、投影视图:有点类似数据库视图,但是是通过outer join的方式,可以隐藏一些字段内容; 4、帮助视图:用于创建搜索帮助。 文章来源: SAP_ABAP_视图