视图

1.定义

视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。

2.为什么用

简单性。看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。

安全性:通过视图用户只能查询和修改他们所能见到的数据。但不能授到数据库特定行和特定的列上。

逻辑数据独立性:视图可帮助用户屏蔽真实表结构变化带来的影响。

3.用法

1.创建视图
CREATE VIEW v_blog(编号,标题,内容,作者编号)
AS SELECT * FROM blog
WITH CHECK OPTION;2.查询视图
select * from v_long;

修改视图字段会将基表字段修改掉

#修改试图数据-->修改基表数据
UPDATE v_blog SET 内容 = '修改后的内容' WHERE 编号 = 1;

2.事务

1.定义

在数据库中,我们将一条 SQL 语句称为一次基本的操作。将若干条 SQL 语句“打包”在一起,共同执行一个完整的任务,这就是事务。

2.为什么要用

为了避免出现意外,可以将以上两条语句放到一个事务中,其中一条语句执行失败时,数据库将回滚到原来的状态。对于买家来说,数据库回滚会导致下单失败,但这很容易处理,让买家再次下单即可。数据库的正确性永远是最重要的。

3.用法


#开启事务
BEGIN;
#插入语句
INSERT INTO runoob (id) VALUE(5);
INSERT INTO runoob (id) VALUE(6);
#提交事务
COMMIT;BEGIN;
#插入语句
INSERT INTO runoob (id) VALUE('abc');
INSERT INTO runoob (id) VALUE(8);
#回滚
ROLLBACK;

3.存储过程

是存储这个过程而不是存储的过程

1.定义

存储过程可以说是一个记录集吧,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。

2.为什么用

1.由于数据库执行动作时,是先编译后执行的。然而存储过程是一个编译过的代码块,所以执行效率要比T-SQL语句高。
        2.一个存储过程在程序在网络中交互时可以替代大堆的T-SQL语句,所以也能降低网络的通信量,提高通信速率。
        3.通过存储过程能够使没有权限的用户在控制之下间接地存取数据库,从而确保数据的安全。

3.语法

#创建存储过程
DELIMITER $
CREATE PROCEDURE test2()
BEGIN#声明变量类型DECLARE un VARCHAR(32) DEFAULT '';#给username变量赋值SET un = '小心';#将查询结果赋值给un变量SELECT username INTO un FROM student WHERE stuid = 3;#查询un变量 返回SELECT un;
END $
DELIMITER ;#调用存储过程
CALL test2();

4.触发器

1.定义

触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。

2.为什么用

触发器的主要好处在于它们可以包含使用 Transact-SQL 代码的复杂处理逻辑。因此,触发器可以支持约束的所有功能;但它在所给出的功能上并不总是最好的方法。实体完整性总应在最低级别上通过索引进行强制,这些索引或是 PRIMARY KEY 和 UNIQUE 约束的一部分,或是在约束之外独立创建的。假设功能可以满足应用程序的功能需求,域完整性应通过 CHECK 约束进行强制,而引用完整性(RI) 则应通过 FOREIGN KEY 约束进行强制。在约束所支持的功能无法满足应用程序的功能要求时,触发器就极为有用。

3.语法

#触发器 关键词:trigger
CREATE TRIGGER ins_stu
AFTER INSERT ON student FOR EACH ROWINSERT INTO cj(stu_id,stu_name,math,chinese,english)VALUES(new.stuid,new.username,88,66,95)#执行触发过程
INSERT INTO student(username,PASSWORD,birthday)VALUES
('张三','32323233','2016-08-23');

Hbase数据库,视图,事务,存储过程,触发器------周东海相关推荐

  1. mysql 视图 事务 存储过程 触发器 __ 邓治安

    视图 View 逻辑上的虚拟表 #创建视图 CREATE VIEW s_t(编号,姓名,性别,出生日期) AS SELECT * FROM student WITH CHECK OPTION#查询视图 ...

  2. mysql 视图 事务 存储过程 触发器——龙腾

    视图 View 逻辑上的虚拟表 #创建视图 CREATE VIEW s_t(编号,姓名,性别,出生日期) AS SELECT * FROM student WITH CHECK OPTION#查询视图 ...

  3. SQL 视图,存储过程锁住了解锁的方法——最简单的方法

    最近公司跟一家客户合作准备上系统,安排去分析客户原有的数据库,发现客户旧系统里面的数据库视图,存储过程都加密了,作为资深的码农,怎么可能会被吓到,俗话说,山人自有妙计,于是乎安排下面的一系列操作: 1 ...

  4. MySql基础篇---004 其它数据库对象篇:视图,存储过程与函数,变量、流程控制与游标 ,触发器

    第14章_视图 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. 常见的数据库对象 对象 描述 表(TABLE) 表是存储数据的逻辑单元,以行和列的形 ...

  5. 数据库视图 触发器 存储过程

    数据库视图 1.什么是数据库视图 视图是是一个虚拟表,它的内容都来自基本表,它依据基本表存在而存在.一个视图可以对应一个基本表,也可以对应多个基本表也可以对应其他视图.视图是基本表的抽象和在逻辑意义上 ...

  6. MSSQL 视图/事务(TRAN[SACTION])/存储过程(PROC[EDURE])/触发器(TRIGGER )

    --视图 视图是一张虚拟表,它表示一张表的部分数据或多张表的综合数据,其结构和数据是建立在对表的查询基础上 视图在操作上和数据表没有什么区别,但两者的差异是其本质是不同: 数据表是实际存储记录的地方, ...

  7. Java数据库篇8——索引、视图、存储过程、触发器

    Java数据库篇8--索引.视图.存储过程.触发器 1.索引 1.1.索引是什么 在数据库表中,对字段建立索引可以大大提高查询速度.通过善用这些索引,可以令MySQL的查询和 运行更加高效 如果合理的 ...

  8. MySQL(学习笔记)——数据库视图、触发器及存储过程

     数据库视图.触发器及存储过程  1.什么是视图   定义:视图是从数据库中一个或多个表中导出来的虚拟表,不在内存中.   语法: create view 视图名 //(创建一张视图) as sele ...

  9. MySQL-视图-触发器-事务-存储过程-函数-流程控制-索引与慢查询优化-06

    目录 视图*** 什么是视图 为什么要用视图 如何生成视图 修改视图 --> 最好(千万)不要 关联表数据改动前 关联表数据改动之后 触发器 什么是触发器 触发条件 触发器语法结构 修改mysq ...

最新文章

  1. 使用Vitamio打造自己的Android万能播放器(2)—— 手势控制亮度、音量、缩放
  2. django之Ajax
  3. Python: Json串反序列化为自定义类对象
  4. centos 7 升级/安装 git 2.7.3
  5. okhttp post json 数据_使用python抓取App数据
  6. mysql十万条数据_2秒内向数据库中插入十万条数据?
  7. 能买?这款手机搭载联发科P60+32G,仅售399元
  8. windows 2003 远程桌面无法使用剪贴板共享纯文本的解决方法(亲测可用)
  9. 开发落网电台windows phone 8应用的计划(10)-----收尾
  10. 《零基础学习Liunx之三》 The following takes place between 04:00PM and 05:00PM
  11. 锻炼编程思维的小题目
  12. win10程序员计算器中HEX、DEC、OCT和BIN的含义
  13. 2018美赛E题所有国家气候数据
  14. python中日期转换,python中常用到的时间日期格式转换!
  15. Xmind8 思维导图
  16. scrapy手工识别验证码登录超星泛雅
  17. HTML5滑动(swipe)事件,移动端触摸(touch)事件
  18. 深入浅出强化学习:原理入门(待更新)
  19. SpringBoot项目启动 错误: 找不到或无法加载主类 com.abc.demo.DemoApplication
  20. CSS 溢出overflow属性的使用

热门文章

  1. IIC读写EEPROM
  2. Redis学习手册1—数据结构之字符串
  3. 搜狐畅游测试开发一面试题..
  4. telephony.db分析
  5. 高颜值的蓝牙耳机值得入手吗?五款外观性能兼具的蓝牙耳机推荐
  6. DorisDB使用笔记(一)
  7. Java强制类型转换异常
  8. 来自上海市的匿名人士对新闻:360:要起诉金山的评论
  9. 服务器系统 能使用投影仪不,当贝投影的SMB服务是什么?投影仪可以直接看电脑上的视频吗?...
  10. 交换机的背板带宽,交换容量,包转发率区别以前计算公式