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

高端网站制作哪家好wordpress文章内容加信息

高端网站制作哪家好,wordpress文章内容加信息,黄页网站大全,wordpress args视图 1.介绍 视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。 通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条…

视图

1.介绍

视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。

通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。

2.语法

1).创建

CREATE [OR REPLACE] VIEW 视图名称[(列名列表)] AS SELECT语句 [ WITH [ CASCADED | LOCAL ] CHECK OPTION ]
  • CREATE VIEW:用来创建一个新视图。若同名视图已存在,就会报错。
  • CREATE OR REPLACE VIEW:若同名视图已存在,就会替换掉旧视图;若不存在,就创建新视图。
  • [ WITH [ CASCADED | LOCAL ] CHECK OPTION ]:下面检测选项有解释。

2).查询

查看创建视图语句:SHOW CREATE VIEW 视图名称;
查看视图数据:SELECT * FROM 视图名称 ...... ;

3).修改

方式一:CREATE [OR REPLACE] VIEW 视图名称[(列名列表)] AS SELECT语句 [ WITH [ CASCADED | LOCAL ] CHECK OPTION ]
方式二:ALTER VIEW 视图名称[(列名列表)] AS SELECT语句 [ WITH [ CASCADED | LOCAL ] CHECK OPTION ]

4).删除

DROP VIEW [IF EXISTS] 视图名称 [,视图名称] ... 

3.演示示例:

-- 创建视图
create or replace view stu_v_1 as select id,name from student where id <= 10;-- 查询视图
show create view stu_v_1;select * from stu_v_1;
select * from stu_v_1 where id < 3;-- 修改视图
create or replace view stu_v_1 as select id,name,no from student where id <= 10;alter view stu_v_1 as select id,name from student where id <= 10;-- 删除视图
drop view if exists stu_v_1;

上述我们演示了,视图应该如何创建、查询、修改、删除,那么我们能不能通过视图来插入、更新数据呢? 接下来,做一个测试。

create or replace view stu_v_1 as select id,name from student where id <= 10;select * from stu_v_1;insert into stu_v_1 values(6,'Tom');insert into stu_v_1 values(17,'Tom22');

执行上述的SQL,我们会发现,id为6和17的数据都是可以成功插入的。 但是我们执行查询,查询出 来的数据,却没有id为17的记录。
因为我们在创建视图的时候,指定的条件为 id<=10, id为17的数据,是不符合条件的,所以没有查询出来,但是这条数据确实是已经成功的插入到了基表中。

如果我们定义视图时,如果指定了条件,然后我们在插入、修改、删除数据时,是否可以做到必须满足条件才能操作,否则不能够操作呢?

答案是可以的,这就需要借助于视图的检查选项了。

4.检查选项

当使用WITH CHECK OPTION子句创建视图时,MySQL会通过视图检查正在更改的每个行,例如 插入,更新,删除,使其符合视图的定义。 MySQL允许基于另一个视图创建视图,它还会检查依赖视图中的规则以保持一致性。为了确定检查的范围,mysql提供了两个选项: CASCADED 和 LOCAL ,默认值为 CASCADED 。

1.CASCADED

级联。 比如,v2视图是基于v1视图的,如果在v2视图创建的时候指定了检查选项为 cascaded,但是v1视图创建时未指定检查选项。 则在执行检查时,不仅会检查v2,还会级联检查v2的关联视图v1。
在这里插入图片描述

-- 创建基于students表的视图v1,要求id小于等于20
CREATE OR REPLACE VIEW v1 AS 
SELECT id, name FROM students WHERE id <= 20; 
-- 创建基于v1的视图v2,要求id大于10,并添加cascaded检查选项
CREATE OR REPLACE VIEW v2 AS 
SELECT id, name FROM v1 WHERE id > 10 WITH CASCADED CHECK OPTION; 

此时向 v2 插入数据,需同时满足 id > 10id <= 20

2.LOCAL

本地。 比如,v2视图是基于v1视图的,如果在v2视图创建的时候指定了检查选项为 local ,但是v1视图创 建时未指定检查选项。 则在执行检查时,知会检查v2,不会检查v2的关联视图v1。
在这里插入图片描述

-- 基于v1创建视图v3,要求id大于10,添加local检查选项
CREATE OR REPLACE VIEW v3 AS 
SELECT id, name FROM v1 WHERE id > 10 WITH LOCAL CHECK OPTION; 

v3 插入数据时,只要满足 id > 10 即可,不用考虑 v1id <= 20 的条件 。

5.视图的更新

若要向视图中插入数据,视图必须满足以下条件:

  • 视图必须是单表派生:视图定义必须基于单个表,不能是多表连接或复杂查询。
  • 视图必须包含表中所有非空且没有默认值的列:在向视图插入数据时,必须为这些列提供值。
  • 视图不能包含聚合函数(如 SUMCOUNTAVG 等)、GROUP BYHAVINGDISTINCT 等子句:因为这些操作会对数据进行汇总或筛选,无法明确插入到基础表的具体数据。

示例演示:

create view stu_v_count as select count(*) from student;

上述的视图中,就只有一个单行单列的数据,如果我们对这个视图进行更新或插入的,将会报错。

insert into stu_v_count values(10); # 报错!!!

6.视图作用

1.简单

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

2.安全

数据库可以授权,但不能授权到数据库特定行和特定的列上。通过视图用户只能查询和修改他们所能见到的数据。

3.数据独立

视图可帮助用户屏蔽真实表结构变化带来的影响。

7.视图的保存位置

视图的定义信息会存储在 MySQL 的系统表中。

具体地说:
视图定义会存储在 INFORMATION_SCHEMA.VIEWS 表中。

举个例子:
如果你创建了一个名为 my_view 的视图,且所在数据库是 my_database:
视图的定义信息会保存在 INFORMATION_SCHEMA.VIEWS 表中,可以通过以下查询查看:

SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_view';

在服务器文件系统中:

  1. MySQL 不会为视图单独创建物理文件。
  2. 视图的定义信息是以元数据的形式存储在 MySQL 数据库内部管理的系统表中。
  3. 因此,视图只保存定义,而不会保存查询结果的实际数据,每次查询视图时,都会动态地从相关表中读取数据。

存储过程

1.介绍

存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以减少数据在数据库和应用服务器之间的传输,提高数据处理的效率。 存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。

特点:

  • 封装,复用: 可以把某一业务SQL封装在存储过程中,需要用到的时候直接调用即可。
  • 可以接收参数,也可以返回数据。
  • 减少网络交互,效率提升:如果涉及到多条SQL,每执行一次都是一次网络传输。 而如果封装在存储过程中,我们只需要网络交互一次可能就可以了。

2.基本语法

1).创建

CREATE PROCEDURE 存储过程名称 ([ 参数列表 ])
BEGIN-- SQL语句	
END;

2).调用

CALL 名称 ([ 参数 ]); 

3).查看

SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = 'xxx';  -- 查询指定数据库的存储过程及状态信息,xxx:数据库名称
SHOW CREATE PROCEDURE 存储过程名称 ;  -- 查询某个存储过程的定义

4).删除

DROP PROCEDURE [ IF EXISTS ] 存储过程名称;

注意: 在命令行中,执行创建存储过程的SQL时,需要通过关键字 delim


文章转载自:

http://4ZskSNcW.ssgLh.cn
http://6kiWZvge.ssgLh.cn
http://k7B7dH1j.ssgLh.cn
http://xYtpCcUJ.ssgLh.cn
http://DEOIBnIz.ssgLh.cn
http://3eQp8ICH.ssgLh.cn
http://E8JlORqK.ssgLh.cn
http://ZCEhHmG5.ssgLh.cn
http://bV8tJMSm.ssgLh.cn
http://ZfzeyArc.ssgLh.cn
http://mFl6TsZN.ssgLh.cn
http://SKuCDxBb.ssgLh.cn
http://dCcGX2Bq.ssgLh.cn
http://ffylvjTz.ssgLh.cn
http://mbhJimqa.ssgLh.cn
http://Q9ZHWNh4.ssgLh.cn
http://DKszJFS3.ssgLh.cn
http://9Th2EbNY.ssgLh.cn
http://OUX27VyK.ssgLh.cn
http://1pMQp7il.ssgLh.cn
http://hgdSe2ao.ssgLh.cn
http://ViD3RkPR.ssgLh.cn
http://L7aOW8W8.ssgLh.cn
http://q0KHUbE6.ssgLh.cn
http://21XLyZrX.ssgLh.cn
http://TP7iHX9u.ssgLh.cn
http://Sha4mQ2Q.ssgLh.cn
http://quZr0qGe.ssgLh.cn
http://CMaSgkJD.ssgLh.cn
http://XndqOUlm.ssgLh.cn
http://www.dtcms.com/wzjs/749972.html

相关文章:

  • 做外贸网站哪里好廉江手机网站建设
  • 国外网站空间哪个好友情链接购买
  • 优化教程网站推广排名如何做好一个网站运营
  • 网站开发连接形式济南市住房城乡建设网站
  • 无锡市住房和城乡建设局网站大气金融网站
  • 宁波建网站外包韩都衣舍网站建设的改进
  • 遵义县住房和城乡建设局网站网络公司做网站
  • 企业网站源码推荐赚钱一天赚300到500平台
  • 高端网站定制商微信营销的优势有哪些
  • 小型求职招聘网站源码 phpcms系统创建静态网站
  • 大企业网站建设方案网站排名top排行榜
  • 个人手机版网站建设黄金网站大全免费
  • 笔趣阁 网站开发中联汇科 网站建设
  • 江门城乡建设局官方网站公司标志图片logo
  • 外贸网站自我建设与优化软件商店软件下载
  • 户外俱乐部网站模板东莞住房和城乡建设部网站
  • 单页面竞价网站十堰专业网站建设公司
  • 做视频直播的网站有哪些wordpress机械模板下载
  • 宁波网站建设报价大连网络推广平台
  • dede网站栏目管理如何建设网站开发页面适应高度
  • 南阳高质量建设大城市网站wordpress误修改
  • 网站备案主体空壳网站开发服务合同印花税
  • 东莞58同城做网站电话大庆外贸网页制作
  • 如何做门户网站php搭建网站教程
  • 天津做网站好的公司做网站建设的方案
  • 做移动网站点击软件吗unity3d做网站
  • h5免费制作网站模板wordpress 加密文章
  • 在线一键免费生成网页网站网站制作自学百度云
  • 网站开发与app开发原理杭州建设网电焊工报名入口
  • 网站建设项目确认书wordpress插件影响网站