SQL View2024 年 8 月 29 日 | 5 分钟阅读 SQL 提供了视图(VIEW)的概念,它可以隐藏数据的复杂性并限制对数据库的不必要访问。它允许用户只访问特定列,而不是表的全部数据。 结构化查询语言 (SQL) 中的视图被视为一个虚拟表,它依赖于预定义 SQL 语句的结果集。 与 SQL 表一样,视图也以行和列的形式存储数据,但这些行在数据库中没有物理存在。 任何数据库管理员和用户都可以通过从一个或多个数据库表中选择列来轻松创建视图。他们也可以根据需要删除和更新视图。 视图可以存储表中的所有记录,或者使用 WHERE 子句从表中选择特定记录。 创建 SQL 视图您可以使用 CREATE VIEW 语句轻松创建结构化查询语言 (SQL) 中的视图。您可以从单个表或多个表创建视图。 从单个表创建视图的语法 在此语法中,View_Name 是您想在 SQL 中创建的视图的名称。SELECT 命令指定表的行和列,WHERE 子句是可选的,用于从表中选择特定记录。 从多个表创建视图的语法 您可以将表包含在 SELECT 语句中来从多个表中创建视图。 从单个表创建视图的示例让我们考虑 Student_Details 表,它包含 Stu_ID、Stu_Name、Stu_Subject 和 Stu_Marks 列。Student_Details 的数据如下表所示:
表:Student_Details 假设您想创建一个包含 Stu_ID、Stu_Subject 和 Stu_Marks 的视图,这些学生的分数大于 85。对于这个问题,您需要键入以下查询: 输出
视图:Student_View 从多个表创建视图的示例让我们考虑两个表:Student_Details 和 Teacher_Details。Student_Details 表包含 Stu_ID、Stu_Name、Stu_Subject 和 Stu_Marks 列。Teacher_Details 表包含 Teacher_ID、Teacher_Name、Teacher_Subject、Teacher_City 列。Student_Details 和 Teacher_Details 的数据如下表所示:
表:Student_Details
表:Teacher_Details 假设您想从 Student_Details 和 Teacher_Details 表中创建一个包含 Stu_ID、Stu_Name、Teacher_ID 和 Teacher_Subject 列的视图。 要显示 Student_Teacher_View 的数据,您需要键入以下 SELECT 查询: 输出
视图:Student_Teacher_View 更新 SQL 视图我们也可以修改现有数据并在结构化查询语言 (SQL) 的视图中插入新记录。SQL 中的视图仅在视图遵循以下条件时才能被修改:
更新视图的语法更新视图的示例如果我们想更新上述 Student_View 并从 Student 表中添加 Stu_Name 属性到视图中,您需要键入以下 SQL REPLACE 查询: 上述语句会更新现有的 Student_View,并根据 SELECT 语句更新数据。 现在,您可以通过键入以下查询来查看虚拟表: 输出
视图:Student_View 向现有视图插入新行就像数据库表的插入过程一样,我们也可以在视图中插入记录。以下 SQL INSERT 语句用于在视图中插入新行或记录: 向视图插入新记录的示例 假设您想在 Student_View 中插入一名新学生的信息,那么您需要用 SQL 编写以下查询: 现在,您可以使用以下查询检查新记录是否已插入到 Student_View 中: 输出
视图:Student_View 从视图删除现有行就像数据库表的删除过程一样,我们也可以从视图中删除记录。以下 SQL DELETE 语句用于删除视图中的现有行或记录: 从视图删除记录的示例 假设您想从 Student_View 中删除科目为 Math 的学生记录,那么您需要键入以下 SQL 查询: 现在,您可以使用以下查询检查记录是否已从 Student_View 中删除: 输出
视图:Student_View 删除视图如果不再需要,我们也可以从数据库中删除现有视图。以下 SQL DROP 语句用于删除视图: 删除视图的示例假设您想删除上述 Student_View,那么您需要键入以下结构化查询语言 (SQL) 查询: 下一个主题SQL 中的约束 |
我们请求您订阅我们的新闻通讯以获取最新更新。