数据库视图

mysql之零碎知识

泪湿孤枕 提交于 2020-03-18 23:33:53
一 视图  什么是视图:视图就是一张虚拟表。方便查看。  创建视图:create view 起名 as sql语句 #两张有关系的表 mysql> select * from course; +-----+--------+------------+ | cid | cname | teacher_id | +-----+--------+------------+ | 1 | 生物 | 1 | | 2 | 物理 | 2 | | 3 | 体育 | 3 | | 4 | 美术 | 2 | +-----+--------+------------+ 4 rows in set (0.00 sec) mysql> select * from teacher; +-----+-----------------+ | tid | tname | +-----+-----------------+ | 1 | 张磊老师 | | 2 | 李平老师 | | 3 | 刘海燕老师 | | 4 | 朱云海老师 | | 5 | 李杰老师 | +-----+-----------------+ 5 rows in set (0.00 sec) #查询李平老师教授的课程名 mysql> select cname from course where teacher_id = (select tid from

数据库视图创建学习

微笑、不失礼 提交于 2020-03-18 13:58:33
实验5 视图的创建及应用 1 、实验目的 (1)掌握使用T-SQL语言创建、修改视图; (2)掌握使用T-SQL语句删除、重命名视图; (3)掌握使用T-SQL语句,通过视图对基本表进行数据操作; (4)掌握使用界面操作的方式创建、修改、删除和重命名视图,以及通过视图对基本表进行数据操作的方法。 2、 实验类型 验证型、设计型。 3、 相关知识 视图是一种数据库对象,是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。视图是从一个或者多个数据表或视图中导出的虚表,视图的结构和数据是对数据表进行查询的结果。 (1)使用T-SQL语句创建视图的语法格式 CREATE VIEW [ < owner > .] view_name [ ( column_name [ ,...n ] ) ] [WITH ENCRYPTION] AS select_statement FROM table_name WHERE search_condition [WITH CHECK OPTION] 其中: n view_name:为新创建的视图指定的名字,视图名称必须符合标识符规则。 n column_name:在视图中包含的列名,也可以在SELECT 语句中指定列名。 n table_name:视图基表的名字。 n select_statement:选择哪些列进入视图的SELECT语句。 n

06章:事务、视图和索引

此生再无相见时 提交于 2020-03-18 13:58:17
一: 事务 1. 含义 :事务是一个 不可分割的整体 ,事务中的多个执行过程,同生共死。要么都执行成功,要么都执行失败。 事务必须具备以下四个属性,(简称:ACID): ①. 原子性(Atomicity): 事务的各元素是不可分的(原子的)。事务中的所有元素必须作为一个整体提交或回滚。如果事务中的任何元素失败,则整个事务将失败。 ②. 一致性(Consistency): 当事务完成时,数据必须处于一致状态。也就是说,在事务开始之前,数据库中存储的数据处于一致状态。 ③. 隔离性(Isolation): 对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务。 ④. 持久性(Durability): 指不管系统是否发生了故障,事务处理的结果都是永久的。 2. 如何执行事务? 语法: ①: 开始事务 (显式地标记一个事务的起始点) Begin Transaction ②: 提交事务 (标志一个事务成功结束) Commit transaction ③: 回滚(撤销)事务 (清除自事务起始点至该语句所做的所有数据更新操作,将数据状态回滚到事务开始前,并释放由事务控制的资源) Rollback transaction 3. 事务分类 在SqlServer中,事务有以下 3种类型 : ①:显式事务:(实际开发中最常用,明确的指定事务的开始边界)

事务&视图和索引

谁说胖子不能爱 提交于 2020-03-18 13:57:42
一:事务 1.含义:事务是 一个不可分割的整体 ,事务中的多个执行过程, 同生共死 。要么都执行成功,要么都执行失败。   事务必须具备以下四个属性,(简称: ACID ):     ①. 原子性(Atomicity) :事务的各元素是不可分的(原子的)。事务中的所有元素必须作为一个整体提交或回滚。如果事务中的任何元素失败,则整个事务将失败。     ②. 一致性(Consistency) :当事务完成时,数据必须处于一致状态。也就是说,在事务开始之前,数据库中存储的数据处于一致状态。     ③. 隔离性(Isolation) :对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务。     ④. 持久性(Durability) :指不管系统是否发生了故障,事务处理的结果都是永久的。 2.如何执行事务? 语法: ①: 开始事务 (显式地标记一个事务的起始点) Begin Transaction ②: 提交事务 (标志一个事务成功结束) Commit transaction ③: 回滚(撤销)事务 (清除自事务起始点至该语句所做的所有数据更新操作,将数据状态回滚到事务开始前,并释放由事务控制的资源) Rollback transaction 3.事务分类 在SqlServer中,事务有以下3种类型: ①: 显式事务 :

oracle触发器使用总结

只谈情不闲聊 提交于 2020-03-18 13:57:28
1.说明 1)触发器是一种特殊的存储过程, 触发器一般由事件触发并且不能接受参数 ,存储器由语句块去调用 2)触发器分类:   1.DML触发器: 创建在表上,由DML事件引发   2.instead of触发器: 创建在视图上并且只能在行级上触发 ,用于替代insert,delete等操作 (由于oracle中不能直接对有两个以上的表建立的视图进行DML操作,所以给出替代触发器,它是专门为进行视图操作的一种处理方法)   3.DDL触发器: 触发事件时数据库对象的创建和修改   4.数据库事件触发器:定义在数据库或者模式上,由数据库事件触发 3)组成:   1.触发事件:引发触发器被触发的事件 DML语句(INSERT, UPDATE, DELETE语句对表或视图执行数据处理操作)、DDL语句(如CREATE、ALTER、DROP语句在数据库中创建、修改、删除模式对象)、数据库系统事件       (如系统启动或退出、异常错误)、用户事件(如登录或退出数据库)。   2.触发时间:即该触发器是在触发事件发生之前 (BEFORE)还是之后(AFTER)触发   3.触发操作:触发器触发后要完成的事情   4.触发对象:包括表、视图、模式、数据库。只有在这些对象上发生了符合触发条件的触发事件,触发器才会执行触发操作。   5.触发条件:由WHEN子句指定一个逻辑表达式

Mysql 视图&事务&触发器

白昼怎懂夜的黑 提交于 2020-03-18 13:57:11
参考资料 一、视图 视图的含义: 视图是一个虚拟表,是从数据库中一个或者多个表中导出来的表。 1、创建视图 #语法:CREATE VIEW 视图名称 AS SQL语句 create view teacher_view as select tid from teacher where tname='李平老师'; #于是查询李平老师教授的课程名的sql可以改写为 mysql> select cname from course where teacher_id = (select tid from teacher_view); +--------+ | cname | +--------+ | 物理 | | 美术 | +--------+ rows in set (0.00 sec) #!!!注意注意注意: #1. 使用视图以后就无需每次都重写子查询的sql,但是这么效率并不高,还不如我们写子查询的效率高 #2. 而且有一个致命的问题:视图是存放到数据库里的,如果我们程序中的sql过分依赖于数据库中存放的视图, 那么意味着,一旦sql需要修改且涉及到视图的部分,则必须去数据库中进行修改,而通常在公司中数据库有专门的DBA负责, 你要想完成修改,必须付出大量的沟通成本DBA可能才会帮你完成修改,极其地不方便 2、查看视图 select * from course_view; create

MySQL-事物、索引和视图

懵懂的女人 提交于 2020-03-18 13:56:23
1.视图 对于复杂的语句,多次使用时,要维护是一件很麻烦的事情。 解救的办法:就是定义一个视图,相当于编程语言中的封装。 定义视图 语法如下: create view v_student as select * from student where name = zhangsan; 调用: select * from v_student; 2.事物 当一件事情需要多个sql完成时,如果其中的某条语句出错,则希望整个操作都退回。 主要作用是保证命令的完整性。 2.1事物的四大特性 原子性:事物中的全部操作在数据库中是不可分割的,要么全部完成,要么都不完成。 一致性:几个并行执行的任务,其执行结果必须与按照某一顺序执行的结果一致。 隔离性:事物的执行不受其他事物的干扰,事物执行的结果对其他事物必须是透明的。 持久性:对于已经提交的事物,系统必须保证事物对该数据库的改变不曾丢失,即使数据库出现故障。 2.2 使用事物的情况 数据被更改时,包括insert、updata、del等操作进行时使用事物。 要求:表的类型必须是innodb或者bdb类型,才可以使用事物。 查看表的类型:show create table students; 修改表的类型:alter table 表名称 engine=innodb; 事物语句: 开启:begin; 提交:commit; 回滚:rollback; 2

mysql基础教程(四)-----事务、视图、存储过程和函数、流程控制

心不动则不痛 提交于 2020-03-18 13:54:59
事务 概念 事务由单独单元的一个或多个SQL语句组成,在这 个单元中,每个MySQL语句是相互依赖的。 而整个单独单 元作为一个不可分割的整体,如果单元中某条SQL语句一 旦执行失败或产生错误,整个单元将会回滚。所有受到影 响的数据将返回到事物开始以前的状态;如果单元中的所 有SQL语句均执行成功,则事物被顺利执行。 存储引擎 概念 在mysql中的数据用各种不同的技术存储 在文件(或内存)中。 查看 通过 show engines; 来查看mysql支持的存储引擎。 常见引擎 在mysql中用的最多的存储引擎有:innodb, myisam ,memory 等。其中innodb支持事务,而 myisam、memory等不支持事务。 事务特点 事务的ACID(acid)属性 1. 原子性(Atomicity) 原子性是指事务是一个不可分割的工作单位,事务中的操作要么 都发生,要么都不发生。 2. 一致性(Consistency) 事务必须使数据库从一个一致性状态变换到另外一个一致性状态 。 3. 隔离性(Isolation) 事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个 事务内部的操作及使用的数据对并发的其他事务是隔离的,并发 执行的各个事务之间不能互相干扰。 4. 持久性(Durability) 持久性是指一个事务一旦被提交,它对数据库中数据的改变就是 永久性的

事务 , 视图 , 和索引

别说谁变了你拦得住时间么 提交于 2020-03-18 13:53:29
01. 事务 什么是事务? 事务是单个的工作单元 如在某一项事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分.如果事务遇到错误且必须取消或回滚,则所有数据更改均被清楚 为什么需要事务? 在银行业务中,有一条记账原则 ,即又借有贷,借贷相等,为了保证这种原则,每发生一笔银行业务,就必须确保会记账目上 借方科目和贷方科目至少各记一笔,并且这两笔账要么同时成功,要么同时失败. 视图使得人们可以为一个或者多个数据表定义一个特殊的表现形式。视图在表现行为上与表没有差别,可以select查询,也可以用insert,update,delete来修改数据。 一般使用视图的理由有两个,一个是安全,例如一个表中包含了员工的个人资料,那像电话姓名这些是所有人都可以查询的,但是像薪水这些东西就只有特定的人能查询了,因此最好的办法就是将所有人都可以访问的数据部分创建为一个视图,供别人查询。另一个是方便,视图使用起来很方便,不用输入复制的命令 在视图里修改数据:能不能修改某个视图中的数据取决于视图的select命令,可刷新的视图需要满足以下几个条件: (1)当初定义的select中不得包含group by、distinct、limit、union或having等子命令 (2)如果视图中的数据来自一个以上的表,那它总是不可刷新的 (3)视图中应包含主键索引,唯一索引

数据库子查询、视图、事务

[亡魂溺海] 提交于 2020-03-18 04:37:46
目录 复习 联合分组 子查询 all与any:区间修饰条件 视图:view 视图的增删改 事务 复习 """ 1、单表查询 增删改查的完整语法 select distinct 字段 from 表 where group by having order by limit 比较:> < = 区间:between and | in | not in 逻辑: and or not 相似:like _% 正则:regexp 聚合函数:group_concat()、max() having:可以对 聚合函数 结果进行筛选,不能使用 聚合函数 别名 order by:分组后对 聚合函数 进行排序,能使用 聚合函数 别名 limit:条数 | 偏移,条数 2、多表查询 内连接:from emp inner join dep on emp.dep_id = dep.id 只保存两表有对应关系的记录 左连接:from emp left join dep on emp.dep_id = dep.id 左表记录全部保存,右边没有对应记录空填充 右连接:from emp right join dep on emp.dep_id = dep.id 右表记录全部保存,左边没有对应记录空填充 全连接: from emp left join dep on emp.dep_id = dep.id union from