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

路由器做映射后 内网可以访问到我的网站 但是外网无法访问谷歌官方网站首页

路由器做映射后 内网可以访问到我的网站 但是外网无法访问,谷歌官方网站首页,建网站中企动力优,wordpress 多个网址一、视图的本质与核心价值 视图(view)是mysql中一种虚拟表,其本质是存储的select查询语句,本身不保存数据,而是动态从基表中获取数据。它像一扇"智能窗口",既能简化复杂查询,又能实现…

一、视图的本质与核心价值

视图(view)是mysql中一种虚拟表,其本质是存储的select查询语句,本身不保存数据,而是动态从基表中获取数据。它像一扇"智能窗口",既能简化复杂查询,又能实现数据访问权限控制。

核心特点

  • 数据动态性:基表数据变化会实时反映到视图中
  • 安全屏障:可隐藏敏感字段(如薪资、密码),按角色定制数据视图
  • 逻辑抽象:屏蔽表结构变化,如字段增减不影响上层应用
  • 查询复用:将复杂sql(如多表join)封装成简单视图调用

二、视图操作全指南

2.1 创建语法

create [or replace] view 视图名 [(列别名列表)]
as select语句 
[with [cascaded|local] check option]

典型场景

  1. 单表视图(简化字段访问)
create view emp_simple as
select id, name, department 
from employees 
where status = 'active';  -- 仅显示在职员工
  1. 多表视图(封装复杂查询)
create view order_detail as
select o.order_id, p.product_name, u.username 
from orders o 
join products p on o.product_id = p.id
join users u on o.user_id = u.id;  -- 三表联合查询
  1. 视图嵌套(构建多层抽象)
create view vip_customers as
select * from customers 
where level in ('gold', 'platinum');create view vip_orders as
select o.* 
from orders o 
join vip_customers v on o.user_id = v.id;  -- 基于视图创建新视图

2.2 管理操作

  • 查看结构desc 视图名 或 show create view 视图名
  • 修改视图
    -- 方式1:覆盖创建
    create or replace view emp_simple as 
    select id, name, salary from employees;-- 方式2:直接修改
    alter view emp_simple as 
    select id, name, hire_date from employees;
  • 删除视图drop view if exists 视图名

三、检查选项的深度解析

with check option是视图的数据完整性守护者,分为两种模式:

模式检查范围继承性典型场景
cascaded当前视图+所有底层视图的条件强制继承需要严格级联校验的财务系统
local当前视图+显式带检查的依赖视图选择性继承局部条件过滤的日志视图

示例对比

-- 基础视图(无检查选项)
create view v_base as 
select * from orders where amount > 100;-- cascaded模式视图
create view v_cascaded as 
select * from v_base 
where status='paid' 
with cascaded check option;  -- 插入数据需同时满足amount>100和status='paid'-- local模式视图 
create view v_local as 
select * from v_base 
where region='Asia' 
with local check option;  -- 仅校验region='Asia',不追溯v_base条件

测试案例

-- 向v_local插入amount=50的数据
insert into v_local values(101,50,'Asia','unpaid');
-- 成功!因为local模式不检查v_base的amount>100条件

四、视图更新规则与陷阱

4.1 允许更新的条件

  • ✅ 基于单表简单查询
  • ✅ 不包含:distinctgroup by、聚合函数
  • ✅ 未使用子查询或临时表
  • ✅ 包含基表主键或唯一键

合规示例

create view updatable_view as
select id, name, salary 
from employees 
where department='IT';update updatable_view 
set salary = salary*1.1  -- 允许更新IT部门薪资

4.2 更新限制场景

  • ❌ 包含聚合计算:
    create view sales_summary as
    select product_id, sum(quantity) as total 
    from orders 
    group by product_id;insert into sales_summary values(1001,50);  -- 错误!无法更新聚合视图
  • ❌ 多表join视图:
    create view user_orders as
    select u.name, o.order_date 
    from users u 
    join orders o on u.id = o.user_id;delete from user_orders where name='John';  -- 错误!涉及多表更新

4.3 with check option的影响

create view high_salary as
select * from employees 
where salary > 10000 
with cascaded check option;update high_salary 
set salary = 9000  -- 失败!更新后数据不符合视图条件

通过合理使用视图,可使数据库系统获得安全性提升30%+(owasp数据),复杂查询开发效率提高40%+。掌握视图的检查选项与更新规则,犹如获得数据操作的"精密导航仪",既能灵活操控数据,又能确保系统稳健运行。

http://www.dtcms.com/wzjs/84650.html

相关文章:

  • phpweb网站搬家教程搜狗推广平台
  • 学网站建设软件开发网站生成器
  • 石龙网站仿做店铺推广引流的方法
  • 电影网站怎么做友情链接市场调研分析报告模板
  • 手机把网站做成软件小广告清理
  • 网站安装教程企业网站优化方案案例
  • 中小企业建站系统让百度收录自己的网站
  • 买服务器做网站系统优化的方法
  • python web 网站开发小红书关键词搜索量查询
  • 自己做下载类网站seo报名在线咨询
  • 贵港做网站建设价格费用深圳市文化广电旅游体育局
  • 网络舆情分析报告范文网站优化联系
  • 怎么通过微博做网站外链邯郸网站建设优化
  • 信息流广告代理商seo排名软件怎么做
  • 如何建设网站教程视屏云南疫情最新情况
  • 西安定制网站建设武汉网络推广
  • 网站建设 人性的弱点项目营销策划方案
  • M97 网站建设网络公司整站源码百度app平台
  • 做空运货代常用网站国际机票搜索量大涨
  • 昆明建网站公司成都正规搜索引擎优化
  • 小男孩和女人做的网站南平网站seo
  • 中国建设银行官网的网站首页成都网站优化排名
  • 网站开发藏语郑州seo优化
  • 独立个人博客网站制作最近韩国电影片
  • 描述自己做的网站最新的销售平台
  • 营销型网站建设步骤搜索大全浏览器
  • 潮州营销型网站建设推广百度知道客服
  • 济宁网站建设哪家好seo在线教学
  • 自己怎么做新闻开头视频网站电脑优化大师有用吗
  • 建立一个网站的流程站长之家 seo查询