当前位置: 首页 > news >正文

做网站开发使用百分比的好处西点培训前十名学校

做网站开发使用百分比的好处,西点培训前十名学校,网站的大图传不上去是怎么回事,钓鱼平台设计SQL 视图 1 ) 概述 在mysql中,视图是一个非真实存在的虚拟表其本质是,根据sql语句获取动态的数据集,并为其命名用户使用时只需使用名称,即可获取结果集,并可以将其当做表来使用 2 )用法示例 2.1 比较麻烦…

SQL 视图


1 ) 概述

  • 在mysql中,视图是一个非真实存在的虚拟表
  • 其本质是,根据sql语句获取动态的数据集,并为其命名
  • 用户使用时只需使用名称,即可获取结果集,并可以将其当做表来使用

2 )用法示例

2.1 比较麻烦的sql

select*
from (select nid,name from tb1 where nid > 2) as A
whereA.name > 'alex'

2.2 使用视图简化以便后续可能得复用

  • 上面子查询, 比较麻烦,可以考虑创建成视图
  • 创建视图的示例
    • create view v1 as select nid,name from tb1 where nid > 2
  • 使用视图
    • select * from v1;
    • 上面这句sql的本质是 select * from (select nid,name from tb1 where nid > 2) as v1
  • 删除视图
    • drop view v1;
  • 修改视图
    • alter view v1 as sql语句
  • 需要注意的是
    • 基于视图只能查询, 不能执行增加,修改,删除
    • 如果源表发生变化,视图表也会发生变化
  • 注意:视图在开发阶段实际使用的频率不是很高

SQL触发器


1 ) 概述

  • 比如,数据库中有两张表(或多张表),程序需要对某张表操作的时候
  • 同时需要对另一张表进行增加,删除,修改等操作,在这时候就可以使用触发器
  • 触发器是存储在数据库里,程序就不用操作另外一张表了,直接在操作目标表
  • 另外的一张表的同步可以交给你写的触发器
  • 可以在各个场景中使用

2 )用法示例

2.1 插入前,插入后

-- 插入前
create trigger tri_before_insert_tb1 before insert on tb1 for each row
begin-- ... 这里写你的逻辑
end-- 插入后
create trigger tri_after_insert_tb1 after insert on tb1 for each row
begin-- ... 这里写你的逻辑
end

2.2 删除前,删除后

-- 删除前
create trigger tri_before_delete_tb1 before delete on tb1 for each row
begin-- ... 这里写你的逻辑
end-- 删除后
create trigger tri_after_delete_tb1 after delete on tb1 for each row
begin-- ... 这里写你的逻辑
end

2.3 更新前,更新后

-- 更新前
create trigger tri_before_update_tb1 before update on tb1 for each row
begin-- ... 这里写你的逻辑
end-- 更新后
create trigger tri_after_update_tb1 after update on tb1 for each row
begin-- ... 这里写你的逻辑
end
  • 触发器里的 FOR EACH ROW 是针对每一行的
    • 如果针对这张表每一行做操作,每一行都会触发一次触发器
    • 比如,我有10行数据,在删除每一行的时候,都会触发这个触发器
  • 删除触发器
    • drop trigger tri_after_insert_tb1; 这里删除定义的一个触发器

3 )综合示例

  • 场景:你的数据库中有两张表分别是 t1 和 t2 需要触发器
  • 需求和触发器
    • 在 t1 表插入数据之前,先在 t2 表中插入一行数据
      delimiter $$
      create trigger tri_before_insert_t1 before insert on t1 for each row
      beginif NEW.name = 'alex' theninsert into t2(name) values(NEW.name); -- NEW 是新插入的数据
      end if;end $$
      delimiter;
      
    • 在 t1 表中删除数据之后,再在t2表中插入一行数据
      delimiter $$
      create trigger tri_after_insert_t1 after delete on t1 for each row
      beginif OLD.name = 'alex' theninsert into t2(id, name) values(OLD.id, OLD.name);
      end if;end $$
      delimiter;
      
    • 这里,NEW 是新数据,OLD 是原数据
  • 触发器在业务开发中用的不多,这些一般程序都能搞定
  • 习惯上,能用程序方便搞定的,不用数据库自带的触发器
http://www.zhongyajixie.com/news/47492.html

相关文章:

  • 做网站的开发心得汕头seo不错
  • 基于jsp网站开发参考文献西藏自治区seo 标题 关键词优化
  • 湛江优化网站排名google收录提交入口
  • 西安网页设计培训班费用附子seo
  • 织梦新手网站建设百度的seo排名怎么刷
  • 西部数码网站管理助手 提权百度搜索引擎推广怎么弄
  • 企业网站asp模板怎样做自己的网站
  • 网站怎么做dwcs6网站建设seo
  • 巩义网站推广咸阳网站建设公司
  • 陕西建设厅八大员官方网站百度推广一级代理商名单
  • wamp配置多个网站百度推广费用可以退吗
  • interidea 做网站成功营销十大经典案例
  • 怎么做网站赚钱公司网站建设步骤
  • 网站模板怎么做视频教程泰州seo网站推广
  • 怎么做电影网站的宁波建站模板系统
  • mac怎样买wordpressseo网站关键词排名快速
  • 网站建设公司招人微信管理软件
  • 机械厂网站建设中山seo推广优化
  • 网站外链建设策略中国国家人才培训网官网
  • 网站建设的规划方案2022网站快速收录技术
  • 怎么做购物网站关键词优化公司
  • 网站开发项目周期的培训心得体会1500字
  • 雄安企业网站建设新东方烹饪学校学费一年多少钱
  • 电子网站建设设计长沙网络推广
  • 企业营销网站案例小程序开发需要哪些技术
  • css优秀网站门户网站有哪些
  • 动态网页制作技术哪些百度seo是啥
  • 网站seo方案策划书百度外链查询工具
  • 做花生的网站产品推广软件有哪些
  • 联盟网站制作游戏推广平台哪个好