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

怎么做一个小程序appseo网站推广方案

怎么做一个小程序app,seo网站推广方案,wordpress安装ssl证书,网站建设流量是怎么回事视图(View)是数据库中的虚拟表 通过执行查询定义并存储在数据库中,可以像普通表一样被查询和使用。 视图本身并不存储数据,而是基于一个或多个表的查询结果动态生成。 视图的概念 视图( View )是由其它表或视图上的查询所定义…

视图(View)是数据库中的虚拟表

通过执行查询定义并存储在数据库中,可以像普通表一样被查询和使用。

视图本身并不存储数据,而是基于一个或多个表的查询结果动态生成。

视图的概念

  • 视图( View )是由其它表视图上的查询所定义的种特殊表。
  • 视图是查看数据库中数据的一种机制
  • 数据库中只存放视图的定义,不存放视图包含的数据
  • 定义视图后,像基本表一样被查询、更新。但是对视图的查 询、更新操作最终都会转换为对基本表的操作。
  • 基于视图仍然可以创建视图

定义视图

1.建立视图

CREATE VIEW 语句创建视图

CREATE VIEW <视图名> [(<列名> [, <列名>]…)]
AS <子查询>
[WITH CHECK OPTION];

 CREATE VIEW 用于创建一个新的视图

WITH CHECK OPTION表示对视图进行UPDATE,INSERT和DELETE操作时要保证更新、插入或删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)

如果指定了 WITH CHECK OPTION,那么任何对视图的修改操作都必须满足视图的查询条件。

视图列名的规则

在创建视图时,视图的列名可以选择性地指定。如果不指定,默认会使用子查询中 SELECT 子句中所选的列名。然而,以下几种情况需要显式指定列名:

1. 某个目标列是聚集函数或表达式的结果

如果视图的查询中某个列是聚集函数(例如 COUNT()SUM()AVG() 等)或者是一个计算表达式(例如,两个列相加、字符串连接等),那么我们必须为这些计算列显式指定一个列名,因为这些列没有直接对应的属性名。

CREATE VIEW Dept_Avg_Salary AS
SELECT DeptNo, AVG(Salary) AS AvgSalary
FROM Employees
GROUP BY DeptNo;

AVG(Salary) 是一个聚集函数,它计算了每个部门的平均薪资。由于 AVG(Salary) 是一个计算结果,不是表中的直接列,因此我们必须为它指定列名 AvgSalary

2. 多表连接时选出了几个同名列

在多表连接查询中,如果多个表中的字段具有相同的列名(例如 IDName 等),则必须显式指定列名,以避免列名冲突。

示例:

假设有两个表,EmployeesDepartments,它们都包含一个名为 DeptNo 的列。如果你在视图中选择了这两个表的 DeptNo,你就必须为这两个字段指定不同的列名。

CREATE VIEW EmployeeDept_View AS
SELECT E.EmpID, E.EmpName, D.DeptNo AS DeptNumber, D.DeptName
FROM Employees E
JOIN Departments D ON E.DeptNo = D.DeptNo;

在这个例子中,我们为 Departments 表中的 DeptNo 列指定了别名 DeptNumber,以避免与 Employees 表中的同名列冲突。

3. 需要在视图中为某个列启用新的更合适的名字

如果原始数据表中的列名不符合视图的需求或不够直观,我们可以为这些列指定新的、更合适的名字。这是为了提高可读性和便于理解。

CREATE VIEW Student_View AS
SELECT Sno AS StudentID, Sname AS StudentName, Sage AS Age, Sdept AS Department
FROM Student;

在这个例子中,我们将 SnoSnameSageSdept 等列重命名为 StudentIDStudentNameAgeDepartment,这样列名更直观且符合视图的含义。

总结

  • 全部省略列名:如果在创建视图时没有显式指定列名,则视图的列名将自动使用 SELECT 子句中的字段名。这适用于所有列都是单纯属性名且没有命名冲突的情况。

  • 必须明确指定列名

    1. 当某个列是聚集函数或列表达式时(如 SUM()AVG() 等)。

    2. 当多个表的连接查询结果中包含同名列时(例如,连接了两个表,都包含 IDDeptNo)。

    3. 当需要为列指定更有意义的别名时,以提高可读性或使列名更符合实际业务需求。

在这些情况下,我们必须显式指定列名,以确保视图能正确、清晰地表示数据。

2.删除视图 

如果视图不再需要,可以使用 DROP VIEW 语句将其删除:

DROP VIEW 视图名;
  • 删除视图不会影响原始的基本表;

  • 如果存在依赖于该视图的其他对象(如另一个视图或存储过程),可能需要先删除这些依赖对象。

查询视图

查询视图的方式与查询普通表相同。每次查询视图时,数据库会执行视图定义的查询并返回结果。

SELECT * FROM 视图名;

视图查询的特点:

  • 视图不存储数据,查询时数据库会根据视图的定义动态执行查询。
  • 查询视图时会自动使用视图中定义的 SELECT 语句获取数据。

更新视图 

视图的更新(插入、更新、删除)取决于视图的结构和所涉及的表。

可更新的视图(满足以下条件):

  • 视图是基于单个表创建的;

  • 视图中不包含聚集函数(如 SUM()AVG());

  • 视图中不包含 DISTINCTGROUP BYHAVINGUNION 等子句;

  • 视图中不包含子查询或派生表;

  • 视图中所有要更新的列都可以映射回基本表的列。

不可更新的视图(以下情形通常不可更新):

  • 视图中包含聚集函数或计算列;

  • 视图使用了 GROUP BYHAVING 子句;

  • 视图涉及多表连接(JOIN);

  • 使用了 DISTINCTUNION

  • 使用了只读函数;

  • 包含 LIMITOFFSET 的子句;

  • 基于其他不可更新视图创建的视图。

使用 WITH CHECK OPTION 的视图更新限制:

CREATE VIEW HighSalary_Employees AS
SELECT * FROM Employees
WHERE Salary > 10000
WITH CHECK OPTION;

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

相关文章:

  • 网站建设高端网页设计网站自然排名工具
  • 我公司要网站建设seo网站推广怎么做
  • 浙江建设厅特种作业证查询seo常见的优化技术
  • 自己网上开店的步骤新乡seo网络推广费用
  • 北京市企业网站建设网页设计与制作软件有哪些
  • 盐山县做网站价格百度搜一搜
  • 网站官网认证加v怎么做怎么开展网络营销推广
  • 动漫网站开发 sh框架百度搜索关键词优化
  • 网络营销类网站排名怎么优化快
  • 零食网站源码阜新网络推广
  • 济南网站推广哪家好新网络营销
  • wordpress获取页面的当前位置宁波seo行者seo09
  • 网站制作合同google免登录网页版
  • 如何在office做网站百度账号注册申请
  • 南昌网站建设公司案例网络推广运营优化
  • 怎么做网站frontpage百度关键词排名神器
  • 网站开发课程怎么制作一个自己的网站
  • 重庆多语网站建设品牌企业广州百度seo 网站推广
  • 开什么店投资小利润高福州seo管理
  • 网站排行榜构建新发展格局
  • 联合年检怎么做网站上搜索引擎调词工具哪个好
  • 网站建设代码介绍哪个公司的网站制作
  • 陵水专业网站建设seo资料网
  • 做网站支持提现支付宝百度总部投诉电话
  • 秦皇岛十大必去景点宁波seo优化服务
  • 磐安网站建设公司西安seo网站排名
  • 想学做网站学那个软件好网络营销的六大特征
  • 软件开发学校点击排名优化
  • 中英文版网站建设比百度好用的搜索软件手机版
  • 怎样将字体安装在wordpress网站关键词优化的步骤和过程