SQL视图

视图
视图是虚拟的表。与包含的数据表不一样,视图只包含使用时动态检索的数据查询。作为视图,他不包含任何列或数据,包含的只是一个查询。
为什么使用视图?
1:重用sql语句。
2:简化复杂的sql操作。在编写查询后,可以方便的重用它而不必知道其基本查询的细节。
3:使用表的一部分而不是整个表。
4:保护数据。可以授予用户访问表的特定部分的权限,而不是对整个表进行访问。
5:更改数据格式和表示。视图可以返回与底层表的表示和格式不同的数据。
创建视图之后,可以用于表基本相同的方式使用它们。可以对视图执行SELECT操作,过滤和排序数据,将视图联结到其他视图或表。
重要的是,要知道视图仅仅是用来查看存储在别处数据的一种设置。视图本身不包含数据,因此返回的数据是从其他表中检索出来的。在添加和更改这些表中的数据的时候,视图将返回改变过的数据。

关于视图创建和使用的一些最常见的规则和限制
(1)与表一样,视图必须唯一命名
(2)对于可以穿件的视图数目没有限制
(3)为了创建视图,必须具有足够的访问权限。这些权限通常由数据库管理人员授予。
(4)视图可以嵌套,即可以利用从其他视图中检索数据的查询来构造一个视图。
(5)许多DBMS禁止在视图查询中使用ORDER BY子句。
(6)有的DBMS要求命名返回的所有列,如果列是计算字段,则需要使用别名。
(7)视图不能索引,也不能有关联的触发器或默认值。
(8)有的DBMS把视图作为只读的查询,这表示可以从视图检索数据,但不能将数据写会底层表。
(9)有的DBMS允许创建这样的视图,它不允许进行导致行不再属于视图的插入或更新。


创建视图
视图用CREATE VIEW语句来创建。
用DROP语句来删除视图,语法为:DROP VIEW viewname;

利用视图简化复杂的联结
CREATE VIEW ProductCustomers AS SELECT cust_name,cust_contact,prod_idFROM Customers,Orders,OrderItems WHERE Customers.cust_id = Order.cust_id AND OrderItems.order_num = Order.order_num;
这条语句创建一个名为ProductCustomers的视图,他联结三个表,以返回已订购了任意产品的所有客户的列表。
检索订购了产品RGAN01的客户
SELECT cust_name,cust_contact FROM ProductCustomers WHERE prod_id = 'RGAN01';

用视图重新格式化检索出的数据
创建格式化视图
CREATE VIEW VendorsLocations AS SELECT RTRM(vend_name) || ' ( ' || RTRIM(vend_country) || ' ) ' AS vend_titleFROM Vendors;

用试图过滤不想要的数据
定义CustomerEMailList 视图,过滤没有电子邮件地址的客户。
CREATE VIEW CustomerEMailList AS SELECT cust_id, cust_name, cust_emailFROM CustomersWHERE cust_email IS NOT NULL;

使用视图与计算字段
检索某个特定订单中的物品,计算每种物品的总价格
CREATE VIEW OrderItemExpanded AS SELECT order_num, prod_id, quantity, item_price, quantity*item_price AS expanded_price
FROM OrderItems;
根据视图检索订单20008的详细内容
SELECT *FROM OrderItemsExpanded WHERE order_num = 20008;

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,Navicat是一款流行的数据库管理工具,支持多种数据库管理系统,包括MySQL。如果您正在使用Navicat管理MySQL数据库,您可以使用它的图形用户界面(GUI)进行管理和操作。 使用Navicat连接MySQL数据库: 1. 打开Navicat软件。 2. 点击“连接”按钮,选择MySQL作为数据库类型。 3. 输入MySQL数据库的主机名、端口、用户名和密码等连接信息。 4. 点击“连接”按钮,连接到MySQL数据库。 在Navicat中管理MySQL数据库: 1. 在连接MySQL数据库后,您可以在Navicat中查看所有的数据库和表。 2. 您可以使用Navicat的图形用户界面进行数据库和表的创建、修改和删除操作。 3. 您可以执行SQL查询和命令,并查看查询结果。 4. 您可以备份和恢复MySQL数据库,以及进行其他管理操作,如用户管理和权限管理等。 总之,Navicat是一个非常方便的MySQL数据库管理工具,可以大大简化数据库管理操作,并提高效率。 ### 回答2: 使用Navicat可以方便地管理MySQL数据库Navicat是一款强大的数据库管理工具,用于连接、查询和管理多种类型的数据库,包括MySQLNavicat提供了直观的用户界面,使得管理和操作MySQL数据库变得简单和高效。它支持多种功能,如创建数据库、表和视图,执行SQL查询和脚本,导入和导出数据等。通过Navicat,我们可以轻松地进行数据的增删改查操作。 使用Navicat管理MySQL数据库有以下几个优点: 1. 用户友好:Navicat提供了直观的用户界面,使得即使对于没有数据库管理经验的用户也能快速上手。它的操作方式类似于传统的桌面应用程序,而不是命令行。 2. 多种功能:Navicat提供了一系列功能,使得数据库管理变得更加方便。我们可以通过Navicat创建数据库、表和视图,执行复杂的SQL查询和脚本,并进行数据的导入和导出操作。 3. 快速连接:Navicat支持通过多种方式连接MySQL数据库,包括本地连接和远程连接。我们可以轻松地连接到我们的MySQL服务器,并管理我们的数据库。 4. 数据导入导出:Navicat可以帮助我们将数据从其他数据库或文件导入到MySQL数据库中,也可以将MySQL数据库中的数据导出为各种格式的文件。这方便了数据的迁移和共享。 总之,使用Navicat管理MySQL数据库可以使数据库管理变得更加简单和高效。它提供了丰富的功能和用户友好的界面,使我们能够轻松地进行数据库的管理和操作。 ### 回答3: 使用Navicat来管理MySQL数据库具有诸多优势。Navicat是一款功能强大且易于使用数据库管理工具,它能够帮助我们更高效地管理和维护MySQL数据库。 首先,Navicat提供了一个直观且用户友好的界面,使得数据库的操作变得简单和容易上手。我们可以通过简单的拖放、复制和粘贴操作来创建、编辑和删除数据库、表和字段,无需编写复杂的SQL语句。这大大减少了操作和学习的难度,提高了工作效率。 其次,Navicat支持多种数据导入和导出格式,包括SQL脚本、Excel、CSV等。这使得我们可以将不同格式的数据轻松地导入到数据库中,或者将数据库中的数据导出到其他格式。同时,Navicat还提供了强大的数据同步功能,可以将数据从一个数据库同步到另一个数据库,保持数据的一致性。 第三,Navicat具备强大的查询和筛选功能,可以帮助我们快速构建复杂的查询语句并查找所需的数据。它还支持SQL自动完成、语法高亮和代码片段等功能,大大提高了开发人员的编码效率。 第四,Navicat提供了丰富的数据库管理工具,如备份和恢复数据库、优化数据库性能、监测数据库状态等。它还具备定时任务和数据同步功能,可以自动执行一些常规的数据库管理工作,减轻了管理员的工作负担。 综上所述,使用Navicat管理MySQL数据库有助于提高工作效率、简化操作、保证数据的完整性和一致性,是一款非常实用的数据库管理工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值