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

贾汪城乡建设局网站做seo前景怎么样

贾汪城乡建设局网站,做seo前景怎么样,重庆政务服务网,c2c平台代表目录 1 视图的介绍 2 视图算法 3 创建视图 4 查看视图结构 5 修改视图 6 删除视图 7 参考文档 1 视图的介绍 视图是一张并不存储数据的虚拟表#xff0c;其本质是根据 SQL 语句动态查询数据库中的数据。数据库中只存放了视图的定义#xff0c;通过 SQL 语句使用视图时… 目录 1 视图的介绍 2 视图算法 3 创建视图 4 查看视图结构 5 修改视图 6 删除视图 7 参考文档 1 视图的介绍 视图是一张并不存储数据的虚拟表其本质是根据 SQL 语句动态查询数据库中的数据。数据库中只存放了视图的定义通过 SQL 语句使用视图时会根据视图的定义进行查询。 优点 简化代码对于复杂的查询通过视图可以不用每次都写那么多代码增加数据的安全性通过视图用户只能对指定的数据进行操作缺点 查询性能不好在很多场景下对视图的查询无法使用基表基表是创建视图时使用的表的索引需要对所有基表进行全表扫描后将返回结果保存到临时表再进行查询维护代价高基表发生变化时视图也要进行更改这需要一定的维护成本。尤其是对于复杂的视图而言理解和维护视图更加困难注关于在实际开发中是否应该使用视图大家各执一词。随着 MySQL 8.0 版本的视图有了较大的提升这个话题又引起讨论。非必要不使用谨慎使用。 2 视图算法 MySQL 提供了两种视图算法MERGE 算法和 TEMPTABLE 算法 MERGE 算法会将查询视图的 SQL 语句和创建视图时的查询 SQL 语句进行优化组合然后对基表进行查询操作TEMPTABLE 算法首先通过创建视图时定义的查询 SQL 语句在基表上查询之后将查询结果存入临时表然后根据临时表重写用户查询视图的 SQL 语句最后在临时表上执行重写的 SQL 语句并返回结果不能使用 MERGE 算法的情况 如果定义视图时的 SELECT 语句包含聚合函数、DISTINCT、GROUP BY、HAVING、UNION (ALL)、子查询则不允许使用 MERGE 算法此外如果 SELECT 语句没有引用表没有 from 表名也不允许使用 MERGE 算法注对于应该使用 TEMPTABLE 算法却使用 MERGE 算法的视图MySQL 将生成警告并将算法设置为 UNDEFINED MySQL 会从 MERGE 算法和 TEMPTABLE 算法中选择适合的算法 提示客户端输入 SQL 语句字符串 - 解析器进行解析获得用户输入的 SQL 语句query SQL ) - 获得视图定义创建视图时使用的 查询 SQL语句view SQL- 优化组合 query SQL 语句和 view SQL 语句 - 在基表上执行组合后的 SQL 语句 - 返回查询结果 3 创建视图 创建视图常用代码格式 CREATE[OR REPLACE][ALGORITHM {UNDEFINED | MERGE | TEMPTABLE}]VIEW view_name [(column_list)]AS select_statement[WITH [CASCADED | LOCAL] CHECK OPTION] OR REPLACE用于替换已有的视图ALGORITHM用于设置视图算法VIEW view_name用于设置视图名称column_list用于设置视图列名默认视图的列名是对应的基表的列名select_statementselect 查询语句WITH CASCADED | LOCAL CHECK OPTION用于限制对视图进行的插入和更新操作以确保插入或更新的数据符合视图的定义条件where 语句中的条件 cascaded 更新视图时要满足所有相关视图和表的条件local表示更新视图时满足该视图本身定义的条件即可WITH CHECK OPTION 默认是 WITH CASCADED CHECK OPTIONgoods 表 drop table if exists goods; create table goods ( id int(10) primary key auto_increment, name varchar(14), netprice float(7,2), saleprice float(7,2), weight float(7,2), stockdate date )charsetutf8; #单条插入 insert into goods(name,netprice, saleprice, weight, stockdate) values(香蕉, 2.5, 3.8, 24, 2024-02-13);#多条插入 insert into goods(name,netprice, saleprice, weight, stockdate) values (苹果, 4.5, 7.2, 15, 2024-02-12), (苹果, 4.5, 7.5, 65, 2024-02-14), (橘子, 3.2, 4.5, 52, str_to_date(02-12-2024, %m-%d-%Y)), (橘子, 2.8, 4.5, 76, 2024-02-13), (橘子, 3.1, 5.2, 63, 2024-02-14), (葡萄, 2.1, 4.7, 26, str_to_date(2024/02/14, %Y/%m/%d)); 创建视图 g_view 并查询视图数据 create view g_view as (select id, name, netprice, stockdate from goods); select * from g_view; 可更新视图可以使用 insert、update、delete 对于可更新的视图在视图中的行和基表中的行之间必须具有一对一的关系 不是可更新视图的情况 如果定义视图时的 SELECT 语句包含聚合函数、DISTINCT、GROUP BY、HAVING、UNION (ALL)、子查询官方文档表述为位于选择列表中的子查询我的理解是该子查询是 select 子查询、列名。。。中的子查询则视图不是可更新视图如果 SELECT 语句没有引用表没有 from 表名、包含 JOIN则视图也是不可更新视图如果 FROM 子句中包含不可更新视图、WHERE 子句中的子查询引用了 FROM 子句中的表、ALGORITHM TEMPTABLE则视图不是可更新视图 g_view 视图是可更新视图以下代码对该视图进行插入数据测试从测试结果我们可以知道对可更新视图的插入更新、删除操作会影响基表此外可更新视图的插入更新、删除操作只能用于视图已有的列 # 向视图 g_view 插入数据 insert into g_view(name, netprice, stockdate) values(龙眼, 4.5, 2024-02-17);# 查看视图 g_view select * from g_view;# 查看基表 goods select * from goods; 对插入可更新视图数据进行检验 (with cascaded | local check option) 以下代码在创建视图 g_view_1 时设置筛选条件 where netprice 4.5 并通过  with cascaded check option 启用检验。之后插入两条数据一条数据的 netprice 3.2 4.5插入失败一条数据的 netprice 4.9 4.5插入成功。 # 创建 g_view_1 视图其中 where netprice 4.5 create view g_view_1 as (select id,name,netprice,stockdate from goods where netprice 4.5) with cascaded check option;# 向视图 g_view_1 插入数据 netprice 3.2 4.5 insert into g_view_1(name, netprice, stockdate) values(柚子, 3.2, 2024-02-17);# 向视图 g_view_1 插入数据 netprice 4.9 4.5 insert into g_view_1(name, netprice, stockdate) values(车厘子, 4.9, 2024-02-17); 4 查看视图结构 显示表或视图的类型base table 表示基表view 表示视图 show full tables; 显示视图的结构 # 查看视图 g_view 的结构 show create view g_view; 查看视图列信息 # 查看视图 g_view 的列信息 desc g_view; 5 修改视图 使用 alter 修改视图 和创建一个新的视图没什么区别只是将 create 换成了 alter # 通过 alter 修改视图 g_view alter view g_view as (select id,name,stockdate from goods);# 查看 g_view 数据 select * from g_view; 使用 create or replace 修改视图实际是创建一个同名的新视图替换旧视图 # 通过 create or replace 修改视图 g_view create or replace view g_view as (select id,name,netprice,stockdate from goods);# 查看 g_view 数据 select * from g_view; 使用 rename 重命名视图 # 修改 g_view 视图的视图名为 g_view_new; rename table g_view to g_view_new;# 查看 g_view_new 数据 select * from g_view_new; 6 删除视图 # 删除视图 g_view_new; drop view g_view_new;# 查看视图或表 show full tables; 7 参考文档 MySQL视图https://www.zutuanxue.com/home/4/8_341MySQL 8.0 中文文档 第22章视图 / 22.2. CREATE VIEW语法https://www.mysqlzh.com/doc/185.html
http://www.zqtcl.cn/news/418563/

相关文章:

  • 怎样将自己做的网站给别人看做平台网站一般有php还是js
  • 做企业网站一般要多少钱WordPress数据库搜索
  • wordpress建立好的网站app的开发流程是什么
  • 工作室网站WordPress文章图片采集插件
  • 青岛网站开发学校wordpress页面样板
  • 校级特色专业建设网站公司网站建设需要些什么要求
  • 嵌入式开发软件有哪些上海谷歌seo
  • 国际学校网站如何建设wordpress登入可见
  • 如何做好网站内链网站开发平台开发
  • 安徽省建设厅网站怎么进不去2022年国内重要新闻
  • 河北建设机械协会网站wordpress怎么做两个语言网站
  • 美容网站模版在线动画手机网站模板
  • jsp做的婚恋网站在谷歌上做英文网站
  • 北京教育学会网站建设昆明seo公司网站
  • 免费域名试用注册网站google搜索关键词热度
  • 温州建设小学网站高中资料网站免费
  • 室内设计网站官网大全电子商务网站后台核心管理
  • 网站建设报价图片欣赏福州网站建设报价
  • 网站推广基本方法是文创产品设计稿
  • 厦门网站制作公司推荐作文网投稿网站
  • 网站开发过什么软件杭州cms建站模板下载
  • 做中东服装有什么网站谁能给我个网址
  • 深圳网站建设公司服务平台河北省建设银行网站首页
  • 新密网站网页版微信小程序在哪
  • 长春建一个网站大概要多少钱微信公众号开店流程
  • 网站运营实例django 微信小程序开发教程
  • wordpress 搭网站郑州网站建设华久
  • 网站建设图片尺寸专门做音乐的网站
  • 株洲做网站外贸推广产品
  • 枫叶的网站建设博客企业网站样板制作