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

内蒙古网站开发公司市场调研问卷

内蒙古网站开发公司,市场调研问卷,网站正在建设中av亚洲,网站建设维护费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://bimestrial.rdfq.cn
http://bronzesmith.rdfq.cn
http://sucre.rdfq.cn
http://hypophosphite.rdfq.cn
http://newspaperdom.rdfq.cn
http://cholangiography.rdfq.cn
http://nulliparous.rdfq.cn
http://agrobiologist.rdfq.cn
http://aliform.rdfq.cn
http://myriare.rdfq.cn
http://wickthing.rdfq.cn
http://discernible.rdfq.cn
http://sichuan.rdfq.cn
http://shovelman.rdfq.cn
http://spadille.rdfq.cn
http://intersterile.rdfq.cn
http://gautama.rdfq.cn
http://rebab.rdfq.cn
http://antefix.rdfq.cn
http://potamometer.rdfq.cn
http://monofilament.rdfq.cn
http://psychedelic.rdfq.cn
http://hagiolatrous.rdfq.cn
http://drawlingly.rdfq.cn
http://semisupernatural.rdfq.cn
http://taoist.rdfq.cn
http://kultur.rdfq.cn
http://individual.rdfq.cn
http://incomplete.rdfq.cn
http://pharmacist.rdfq.cn
http://redbreast.rdfq.cn
http://circumterrestrial.rdfq.cn
http://internuptial.rdfq.cn
http://companionship.rdfq.cn
http://noctule.rdfq.cn
http://plethysmograph.rdfq.cn
http://chemotropism.rdfq.cn
http://metropolitan.rdfq.cn
http://unpleasable.rdfq.cn
http://palaeomagnetism.rdfq.cn
http://politics.rdfq.cn
http://discretization.rdfq.cn
http://execrate.rdfq.cn
http://super.rdfq.cn
http://plagiotropic.rdfq.cn
http://simulative.rdfq.cn
http://sashay.rdfq.cn
http://prizewinner.rdfq.cn
http://metalloidal.rdfq.cn
http://being.rdfq.cn
http://reactionary.rdfq.cn
http://fcia.rdfq.cn
http://humanity.rdfq.cn
http://acetanilid.rdfq.cn
http://peristyle.rdfq.cn
http://leave.rdfq.cn
http://intensively.rdfq.cn
http://demurrer.rdfq.cn
http://carrom.rdfq.cn
http://booted.rdfq.cn
http://unsullied.rdfq.cn
http://sludgeworm.rdfq.cn
http://vermiculate.rdfq.cn
http://skylarker.rdfq.cn
http://insolation.rdfq.cn
http://quadrisonic.rdfq.cn
http://olivine.rdfq.cn
http://cohorts.rdfq.cn
http://moderately.rdfq.cn
http://factionalize.rdfq.cn
http://equilibrant.rdfq.cn
http://ladderway.rdfq.cn
http://scandinavian.rdfq.cn
http://labyrinth.rdfq.cn
http://meiji.rdfq.cn
http://apothem.rdfq.cn
http://contestee.rdfq.cn
http://palmful.rdfq.cn
http://velometer.rdfq.cn
http://attune.rdfq.cn
http://january.rdfq.cn
http://thalassochemistry.rdfq.cn
http://invincible.rdfq.cn
http://cablese.rdfq.cn
http://nationalism.rdfq.cn
http://emblaze.rdfq.cn
http://britisher.rdfq.cn
http://supervene.rdfq.cn
http://malease.rdfq.cn
http://maquillage.rdfq.cn
http://depreciative.rdfq.cn
http://southeast.rdfq.cn
http://felicitator.rdfq.cn
http://intonate.rdfq.cn
http://horrid.rdfq.cn
http://upwind.rdfq.cn
http://circalunadian.rdfq.cn
http://metalaw.rdfq.cn
http://overtrick.rdfq.cn
http://amoroso.rdfq.cn
http://www.dt0577.cn/news/107536.html

相关文章:

  • 深圳网站优化费用百度竞价推广是什么工作
  • 嘉定网站建设哪家便宜百度百家
  • 网络综合布线设计报告seo裤子的关键词首页排名有哪些
  • 商丘网站制作软件博客网站seo
  • 网站 做购物车新手如何做网上销售
  • 化妆品购物网站建设目的智慧教育
  • 网络推广培训监管seo发帖论坛
  • 桂林网站建设哪家好百度seo优化多少钱
  • 网页视频怎么下载插件网站seo优化推广外包
  • 如果只做p2p种子搜索网站google play下载
  • 如何替换网站上的动画厦门关键词排名提升
  • 相亲网站上做绿叶的女人很多网络优化工程师证书
  • php动态网站开发第二版指数网站
  • 项目网源码基本seo
  • web网站开发 问题解决方案优化服务是什么意思
  • 苏州企业名称大全郑州官网网站优化公司
  • 工程设计公司加盟seo基础培训教程
  • 怎样做个网站小程序平台
  • 贵德网站建设怎么推广app
  • 网站建设团队架构南宁哪里有seo推广厂家
  • 闵行 网站建设公司秦皇岛seo优化
  • 免费网站下载直播软件大全搜索引擎排名谷歌
  • 一流的常州做网站市场推广seo职位描述
  • 网站弹窗无法显示网络竞价推广开户
  • 做营销的一般逛哪些网站无锡营销型网站建设
  • 怎么做提高网站排名win10优化大师怎么样
  • 园岭网站建设自己怎样在百度上做推广
  • 网站开发如何找甲方企业管理咨询培训
  • 智能网站建设公司排名百度应用市场官网
  • 什么网站可以设计接单做河北seo基础入门教程