精华内容
下载资源
问答
  • 在表的数据表视图中可以排序
    2021-05-04 06:29:43

    69/349

    对视图中的数据排序

    您可以更改视图中数据的排序方式。

    当您创建分析时,可以指定对显示在漏斗图、计量表、图形、热矩阵、数据透视表、表和格状图中的结果进行排序。

    常见排序功能

    一些排序功能对于图形、热矩阵、数据透视表、表和格状图通用。

    图形、热矩阵、数据透视表、表和格状图会反映您在标准选项卡的“所选列”窗格中为属性列和分层列指定的排序。可以对某列使用选项按钮提供的排序菜单选项。这些排序选项提供按单列或多列排序的能力,并且每列都可以按升序或降序排序。通过为多列创建排序,您可以指定多级排序,例如数据的第二级和第三级排序。这些排序级别在标准选项卡上使用针对该列的数字和一个排序图标来指示。

    您在标准选项卡上指定的选项将用作分析的初始排序状态。稍后在使用分析时,您可以修改排序。

    在分层列中对项进行排序时,始终是在父级内排序。也就是说,子级从不在其父级之外排序。子级以适当的排序顺序在父级下显示;父级不在其子级内排序。

    如果您在视图中包括总计,则不会对这些值进行排序。这些值仍位于您放置它们的位置,与排序无关。

    如果您对包括组的属性列或分层列进行排序,则该组始终显示在列表底部。如果有多个组,则按在“选择步骤”窗格中指定其相应步骤的顺序列出这些组。

    对数据进行排序

    使用排序功能可以按照数据值从低到高或从高到低的顺序,对某个视图的行和列进行排序。

    您还可以通过清除所有排序,使顺序返回到数据源中的顺序。可以指定在热矩阵、数据透视表、表和格状图视图的行和列的维边上按字母数字排序。

    您可以用不同方式设置排序规范,包含以下列表中的这些方式:

    在标准选项卡的“所选列”窗格中,单击列旁的选项按钮,然后从菜单中选择适当的排序选项。

    右键单击热矩阵、数据透视表、表或格状图,选择排序或对列进行排序 (二者中可用的那一个)。如果选择排序,则将显示排序对话框,在其中可以选择排序选项。如果选择对列进行排序,则从菜单中选择适当的排序选项。

    可以在图形视图中右键单击数据标记 (例如条形、线形或切片等,具体因图形类型而异)、图例项、组级别 (X 轴) 项,或“提示”标签或“区域”标签,选择排序,然后在排序对话框中选择适当的排序选项。有关在图形中排序的示例,请参阅通过使用右键单击菜单在图形中排序。

    注:

    如果使用图形透视结果按钮创建数据透视表,右键单击菜单选项对于图形不可用。

    将鼠标指针悬停在热矩阵、数据透视表、表或格状图视图的标题中列名右侧的区域上方,然后单击该列的向上三角形 (升序排序) 或向下三角形 (降序排序)。这些排序规范将覆盖使用右键单击菜单指定的排序。

    如果在列标题或行标题中显示带有阴影的排序按钮,则可以知道该列包含主排序。可以将鼠标悬停在最里面的列标题或行标题上,并单击相应的排序按钮或单击鼠标右键按钮来添加第二级或第三级排序。

    您在视图中指定的任何排序选项将覆盖在“所选列”窗格中指定的选项。

    注:

    如果在“分析属性”对话框:“交互”选项卡中取消选择了对列进行排序,则无法在运行时对视图中的列进行排序。

    直接在数据透视表中应用的排序不考虑用户的区域设置。而是进行二进制排序。如果希望将用户的区域设置考虑在内,请在标准选项卡中应用排序。

    清除排序

    您可能希望通过清除排序顺序来更改数据排序的方式。

    可以使用多种方法清除排序:

    对于已应用到“所选列”窗格的排序,请单击清除所有列中的所有排序。将删除您在“所选列”窗格中指定的排序规范。在视图中指定的排序仍将保留。

    对于已从“提示”标签或“区域”标签在图形、热矩阵、数据透视表、表或格状图视图中应用的排序,请将鼠标指针悬停在“提示”标签或“区域”标签上方,右键单击,然后选择排序。在“排序”对话框中,从每个排序区域中单击清除维边中的所有排序按钮,然后单击确定。

    对于已直接应用于热矩阵、数据透视表、表或格状图的排序,请执行以下操作:

    在未排序的列中单击排序按钮,将主排序从目前应用到的列中删除,然后将其应用到您刚才单击了按钮的列。

    从鼠标右键菜单中选择清除视图中的所有排序选项。

    对于已在热矩阵视图中应用的排序,请将鼠标指针悬停在外维边、列标签或行标签上方,右键单击,然后选择排序。在排序对话框中,从每个排序区域中单击清除维边中的所有排序按钮,然后单击确定。

    对于已在图形视图中应用的排序,请选择任何数据标记、图例项、组级别 (X 轴) 标签,右键单击,然后选择排序。在排序对话框中,从每个排序区域中单击清除维边中的所有排序按钮,然后单击确定。

    在表和数据透视表中排序

    表和数据透视表具有基于其构造的默认排序顺序。

    默认情况下,数据透视表始终按从外层到内层的顺序对每个维边进行排序。这不同于以前的发行版 (11g 之前),其中使用由标准列上指定的排序确定的表格排序作为数据透视表的默认排序。

    示例 1:在每个维边上使用单列排序

    此示例显示按某列排序的数据透视表。

    假设您有一个数据透视表,其列维边上为时间层次,行维边上为办公室层次;两者均为分层列。“1 - Revenue in dollars”是该数据透视表中显示的度量。您可以依据特定年度的“1 - Revenue”将办公室层次按从最高收入到最低收入或从最低收人到最高收入的顺序排序,或者根本不排序。

    该插图显示按 2010 年的“1 - Revenue”对办公室层次进行升序排序的示例。父级“Corporate Total”始终显示在其子级上方。其他年份的值可能不会按数值排序,因为只选择了 2010 年。

    该插图显示按“Corporate Total”的“1 - Revenue”对时间层次进行排序的示例。年份按 2011、2010、2012 的顺序重排。2011 年,“Corporate Total”的值最低;而 2010 和 2012 年,它的值最高。

    示例 2:在行维边上使用两列排序

    此数据透视表有两个行,但只按一行排序。

    假设您有一个数据透视表,其列维边上为时间层次,行维边上为 P1 产品和办公室层次,其中产品位于办公室的外侧。“1 - Revenue in dollars”是该数据透视表中显示的度量。可以按 2010 年的“1 - Revenue”以降序对行维边进行排序。在示例 1 中对办公室进行了排序,但没有对产品进行排序,因为它们位于最外层。

    示例 3:在列维边上使用两个度量进行排序

    可以使用两个度量对数据透视表排序。

    假设您有一个数据透视表,其列维边为时间层次,行维边为办公室层次。“1 - Revenue”和“2 - Billed Quantity”是数据透视表中的度量,如插图中所示。如果您尝试使用尖头向左的三角形 (升序排序) 按 GenMind Corp 的叶节点对年份进行排序,则将选择列维边上的第一个度量 (从左向右读) 作为排序依据。如果“1 - Revenue”是该维边上的第一个度量,则数据透视表的排序情况如图中所示。

    如果度量位于行维边上并且按年份排序,则最上层的度量将用于排序。

    如果您在数据透视表、表或格状图中使用右键单击的“排序”交互进行排序,则将显示用于选择在排序中使用的度量的选项。有关其他信息,请参阅“排序选项”菜单。

    通过使用右键单击菜单在图形中排序

    在图形中右键单击时会提供各种排序选项。

    可以在漏斗图视图、计量表视图或图形视图中右键单击数据标记 (根据图形类型包括条形、线形或切片等)、图例项、组级别 (X 轴) 项或“提示”标签或“区域”标签。选择排序,然后在排序对话框中选择适当的排序选项。

    假设您有一个垂直条形图,其中包含两个度量:1 - Revenue 和 2 - Billed Quantity,并且这两个度量按“T05 Per Name Year”分组,并且按“D50 Region”提示。假设您希望以升序按收入对条形图进行排序。

    下一个插图显示了“排序”对话框示例,其中“1 - Revenue”选中作为按列排序,“Low to High”(或升序) 选中作为顺序。

    下一个插图显示了使用两个度量 (1 - Revenue 和 2 - Billed Quantity) 对垂直条形图进行排序的结果。这些度量按“T05 Per Name Year”分组,按“D50 Region”提示,然后按“1 - Revenue”的“由低到高”顺序排序。

    更多相关内容
  • 在数据表中添加或删除一列

    千次阅读 2021-02-02 06:04:06
    可以在本页面底部告诉我们此信息是否对你有帮助吗? 请在此处查看本文的英文版本以便参考。Access 提供了多种在数据表中添加或删除列的方法。 你可以使用数据表视图来添加或删除列,并设置这些列的数据类型。 此外...

    注意: 我们希望能够尽快以你的语言为你提供最新的帮助内容。 本页面是自动翻译的,可能包含语法错误或不准确之处。 我们的目的是使此内容能对你有所帮助。 可以在本页面底部告诉我们此信息是否对你有帮助吗? 请在此处查看本文的英文版本以便参考。

    Access 提供了多种在数据表中添加或删除列的方法。 你可以使用数据表视图来添加或删除列,并设置这些列的数据类型。 此外,你还可以通过任务窗格添加字段,或者打开数据表的基础表格并在设计视图中添加字段。 本主题介绍如何使用各种方法。

    有关创建和使用数据表的更多信息,请参阅文章使用数据表工具创建窗体和使用数据表。

    了解数据表中的列

    数据表是数据库表格中所含信息或者查询返回的结果信息的可视化表示。 数据表中的列代表的内容与数据库表格中的字段相同。 在数据表中添加或删除列时,可以在数据表的基础表格中添加或删除字段。 如果该字段包含数据,则还可以消除该信息。

    处理列

    Access 使你可以更快速、轻松地添加或删除表格字段,因为你可以在数据表视图中执行这些操作。 默认情况下,数据表视图中的所有表格现在包含标记为“单击以添加”的空白列。 若要添加列,请在列标题下面的第一个空白单元格中输入数据。 此外,你还可以将一段或多段数据粘贴到空白列中。 不必再使用设计视图来添加或删除列,但如果你愿意,也可以这样操作。

    此外,不必再为新的列设置更常见的数据类型。 默认情况下,数据库表格中的字段必须包含特定数据类型,例如文本、日期和时间、数字等等。 通常情况下,你可以在设计数据库表格时设置数据类型。 但是,Access 现在可以你在首次在新列中输入数据时推断大部分数据类型。 例如,如果在新表格的第一个字段中输入一个名称,则 Access 会将此字段设为文本数据类型。 如果粘贴数据,则 Access 会将该字段设置为日期/时间数据类型等。 如果粘贴数据组合,例如多个多家/地区的邮政编码,则 Access 将会选择最适合于保留信息的数据类型,通常为文本数据类型。 有关详细信息,请参阅本文后面的了解 Access 如何在你输入信息时分配数据类型一节。

    有关设置数据类型的更多信息,请参阅文章 Access 桌面数据库的数据类型。 如果不熟悉关系数据库的设计规则,请参阅数据库设计基础。

    后续章节中的步骤介绍了如何使用数据表视图和设计视图在数据表中添加和删除列。

    使用数据表视图添加列

    此章节中的步骤介绍了如何使用数据表视图在数据表中添加列、为列命名和输入数据。 继续操作时,请记住,在执行这些步骤之后,在数据表的基础表格中添加和更改字段。

    在“导航”窗格中,找到并双击想要在其中添加字段的表格。

    Access 将在数据表视图中打开表格。

    滚动至数据表的右侧或左侧(具体取决于 Windows 区域和语言设置),然后找到空白列。

    默认情况下,空白列的列标题中会显示“单击以添加”字样。

    在标题下面的第一个空白行中输入一些数据。

    - 或 -

    从第一个空白单元格开始,将一段或多段数据粘贴到字段中。

    保存所做的更改。

    Access 将会根据输入的数据类型设置字段的数据类型。 例如,如果输入名称,则 Access 会将数据类型设为文本。

    有关 Access 如何设置数据类型的更多信息,请参阅了解 Access 如何在你输入信息时分配数据类型一节。 有关手动设置数据类型的信息,请参阅本文后面的设置数据表视图无法推断的数据类型。

    Double-click the column header and enter a name for the new field.

    - 或 -

    双击列标题,然后单击快捷菜单上的“重命名字段”。 然后为字段键入一个名称。

    保存所做的更改。

    使用数据表视图删除列

    在数据表中删除列之前,请记住以下几个重要要点:

    删除列时,你将会删除列中的所有数据,并且无法撤销删除。 因此,在删除列之前,应备份表格。

    如果不执行一些额外的操作,则无法删除某些类型的列。 例如,不能使用数据表视图删除主键字段。 必须使用设计视图来执行此任务。 此外,如果不先删除字段与字段数据取自表格之间的关系,则无法删除主键或查阅字段。 如何删除相关字段不在本文的介绍范围内。

    在数据表视图中删除列

    右键单击想要删除的列标题行。

    单击快捷菜单上的“删除字段”。

    单击“是”以确认删除。

    保存所做的更改。

    使用设计视图添加列

    如果熟悉较早版本的 Access,则你可能拥有使用设计视图的经验。 设计视图比数据表视图更加灵活,因为你可以设置所有可用数据类型,并且还可以创建查阅字段,所有这些操作均无需离开设计视图即可完成。

    在设计视图中添加列

    在“导航”窗格中,右键单击想要更改的表格,然后单击快捷菜单上的“设计视图”。

    - 或 -

    在 Access 状态栏上,单击“设计视图”。

    在“字段名称”列中,选择一个空白行并为新字段键入一个名称。

    在“数据类型”列的新字段名称旁边,为新的列选择数据类型。

    保存所做的更改。

    使用设计视图删除列

    在数据表视图中删除列的规则也适用于设计视图:如果删除列,则会丢失该列中的所有数据。 此外,在删除主键或查阅字段之前,必须先删除这些字段的关系。

    在设计视图中删除列

    在“导航”窗格中,右键单击想要更改的表格,然后单击快捷菜单上的“设计视图”。

    - 或 -

    在 Access 状态栏上,单击“设计视图”。

    选择想要删除的字段(行)。

    在“设计”选项卡的“工具”组中,单击“删除行”。

    - 或 -

    按 DELETE。

    保存所做的更改。

    了解 Access 如何在你输入信息时分配数据类型

    创建空白数据表时,Access 会在你首次在该字段中输入数据时为每个字段分配数据类型。 下表列出了你可以输入的不同数据类型以及 Access 可应用到每个字段的数据类型。

    注意: 无法通过在字段中输入数据来设置附件或 OLE 对象数据类型,并且无法通过在字段中输入数据来启用格式文本编辑支持。

    下表显示了 Access 如何在你在数据表视图中输入数据时为字段设置数据类型。

    如果输入:

    Access 创建的字段具有的数据类型:

    John

    短文本(文本)

    文本或文本与数字块的长度超过 256 个字符。

    长文本(备忘录)

    注意: 无法使用数据表视图来启用格式文本格式。 此外,如果为备忘录字段启用名为“仅追加”属性,则默认情况下,Access 将会在你将光标置于该字段时隐藏所有文本。

    有关启用格式文本格式的信息,请参阅创建或删除格式文本字段一文。

    http://www.contoso.com

    Access 可以识别以下 Internet 协议:http、ftp、gopher、wais、file、https、mhtml、mailto、msn、news、nntp、midi、cid、prospero、telnet、rlogin、tn3270、pnm、mms、outlook。

    注意: 若要使 Access 识别协议并设置超链接数据类型,则必须在协议后面紧跟一个非空格字符。

    超链接

    50000

    数字​​,长整型

    50,000

    数字​​,长整型

    50,000.99

    数字,Double

    50000.389

    数字,Double

    2019/12/31

    Windows 区域和语言设置中指定的日期和时间格式控制 Access 如何设置日期/时间数据。

    日期/时间

    2019 年 12 月 31 日

    注意: 必须输入或粘贴每天的名称之外的其他信息,Access 才能推断日期/时间数据类型。 例如,如果输入“星期二”,则 Access 将选择文本数据类型。 若要使 Access 推断日期/时间数据类型,则必须在每天的名称之外输入月份。

    日期/时间

    10:50:23

    日期/时间

    上午 10:50

    日期/时间

    17:50

    日期/时间

    $12.50

    Access 可识别 Windows 区域和语言设置中指定的货币符号。

    货币

    21.75

    数字,Double

    123.00%

    数字,Double

    3.46E+03

    数字,Double

    设置数据表视图无法推断的数据类型

    默认情况下,无法使用数据表视图执行某些任务:

    无法通过将数据粘贴到空白单元格来设置附件或 OLE 对象数据类型。

    无法通过粘贴数据来为长文本(备忘录)启用格式文本编辑。 若要启用格式文本支持,必须在设计视图中为该字段设置选项。

    本节中的步骤介绍了如何执行这些任务。

    设置附件数据类型

    如果尚未选中,请在数据表中选择空白列(标记为“单击以添加”的列)。

    在下拉列表中,选择“附件”。

    保存所做的更改。

    通过格式文本编辑将长文本(备忘录)字段添加到表格中

    如果尚未选中,请在数据表中选择空白列(标记为“单击以添加”的列)。

    在下拉列表中,选择“格式文本”。

    保存所做的更改。

    将列转换转换为查阅字段

    默认情况下,无法使用数据表视图将新列转换为查阅字段。 如果你是 Access 新手,则查阅字段将在列表中显示其他来源(表格或项目列表)的数据。 默认情况下,Access 使用下拉列表显示查阅数据,但也在窗体中使用列表框(未打开或关闭的列表)。

    可以创建两种类型的查阅字段:基于表格的列表和值列表。 基于表格的列表使用查询来检索其他表格中的数据,值列表显示一组硬编码的值。 以下步骤介绍了如何创建两种类型的列表。

    添加查阅字段

    在“导航”窗格中,右键单击新数据表的基础表格,然后单击“设计视图”。

    - 或 -

    在 Access 状态栏上,单击“设计视图”。

    表格将在设计视图中打开。

    选择要转换的字段。

    - 或 -

    在“字段名称”列中,选择一个空白行并为新字段键入一个名称。

    在“设计”选项卡的“工具”组中,单击“查找列”。

    - 或 -

    在设计视图的“数据类型”列中,单击向下箭头并选择“查阅向导”。

    随即“查阅向导”启动。

    执行下列操作之一:

    创建基于表格的列表

    在表格中选择“使用查找列查找表格或查询中的值”,然后单击“下一步”。

    在“视图”下,选择一个选项,从列表中选择一个表格或查询,然后单击“下一步”。 例如,如果想要在查阅字段中使用表格中的值,请单击“表格”。 如要想要使用查询,请单击“查询”。 若要查看数据库中的所有表格和查询列表,请单击“两者”。

    将想要在查阅列表中显示的字段从“可用字段”窗格移至“已选字段”窗格,然后单击“下一步”。

    或者,为你在上一步中选定的字段选择一个或多个排序选项,然后单击“下一步”。

    或者,调整查阅列表中每一列的宽度,然后单击“下一步”。

    或者,在“想要使用的查阅列标签”下的文本框中,输入一个名称。

    或者,选中“允许多个值”复选框。 选择此选项使你能够选择和存储列表中的多个项目。

    单击“完成”。 如果 Access 提示你保存表格,请单击“是”。 Access 会将查阅查询添加到新表格中。 默认情况下,查询将会检索你指定的字段以及源表格的主键值。 Access 随后会设置查阅字段的数据类型,以匹配源表格中的主键字段的数据类型集。 例如,如果源表格中的主键字段使用 AutoNumber 数据类型,则 Access 会将查阅字段的数据类型设为数字数据类型。

    返回数据表视图,转至查阅字段,然后从列表中选择一个项目。

    创建基于值的列表

    单击“自行键入所需的值”,然后单击“下一步”。

    在“列数”框中输入想要在列表中显示的列数,然后转至第一个空白单元格并输入一个值。

    输入第一个值时,另一个空白单元格将显示在当前单元格下方。

    第一个值输入完毕后,使用 TAB 或向下箭头键将焦点移至下一个单元格,然后输入第二个值。

    重复步骤 2 和 3,直到列表创建完毕,然后单击“下一步”。

    或者,为新字段输入一个名称,然后单击“完成”。

    展开全文
  • SQL视图

    2020-12-14 23:06:01
    视图  视图是虚拟的。与包含的数据表不一样,视图只包含使用时动态检索的数据查询。作为视图,他不包含任何列或数据,包含的只是一个查询。...可以视图执行SELECT操作,过滤和排序数据,将视图联结到其他
  • Sql Server 视图数据的增删改查教程

    千次阅读 2021-02-02 12:08:00
    因此数据库只存在视图的定义,而不存在视图中相对应的数据数据仍然存放原来的基本表中视图是一种逻辑对象。二、 视图能做什么导出数据导出数据时,常常需要多个联合查询,这个时候就可以使用视图;...

    一、视图的基本概念

    视图是用于查询的另外一种方式。 与实际的表不同,它是一个虚表;因此数据库中只存在视图的定义,而不存在视图中相对应的数据,数据仍然存放在原来的基本表中。视图是一种逻辑对象。

    二、 视图能做什么

    导出数据; 在导出数据时,常常需要多个表联合查询,这个时候就可以使用视图;转换字段,如把status(0/1 Int类型)字段转换成启用/停用(文字) ,然后用视图保存定义。

    数据安全,可以给视图加密。

    三、视图操作

    3.1 查询数据

    (一)准备素材:

    使用两张表,其中一张是家电表,另外一张字典表(只需要知道这两张表有一个连接字段brandID-RowID:注意两个表没有强制使用外键约束),准备好素材

    SELECT TOP 1000 [appliancesName]

    ,[appliancesType]

    ,[code]

    ,[**brandId**]

    ,[standard]

    ,[appliancesStatus]

    ,[appliancesIsNew]

    ,[appliancesIsKey]

    ,[appliancesRemark]

    ,[appliancesId]

    FROM sfa_t_appliances

    另外一张表字典表

    SELECT TOP 1000 [**RowID**]

    ,[PRowID]

    ,[DicKey]

    ,[DicVal]

    ,[Status]

    FROM sfa_t_TSysDictionary

    说明:sfa_t_appliances 表中的字段brandId 与 sfa_t_TSysDictionary表中的rowid做关联。

    (二)创建视图:

    create view appliances_view(id,name,brandName)

    as

    select s.appliancesId,s.appliancesName,d.DicVal

    from sfa_t_appliances s,sfa_t_TSysDictionary d

    where s.brandId = d.RowID

    bde7475412e524bb9708f1647649e394.png

    (三)查询:

    查询数据,可以将视图看做一张实实在在的数据表,能够执行各种查询操作。

    如下图所示,执行一个查询操作:

    44e1a03126f2df3d6e3547d249a89044.png

    (四)备注

    有些书上说:可以对任何查询结果进行排序,但是只有当视图包括Top子句时才能排序视图。这样看来书上确实是有问题的。动手实践出真知

    3.2 插入数据

    实验一

    往视图中插入一条数据:

    063426e62059e8b2ed2826f7fcf58834.png

    解释:

    往视图中插入数据时,能够往sfa_t_appliances 中插入数据。但是视图为什么读取不到呢?

    create view appliances_view(id,name,brandName)

    as

    select s.appliancesId,s.appliancesName,d.DicVal

    from sfa_t_appliances s,sfa_t_TSysDictionary d

    where s.brandId = d.RowID

    注意视图的创建语法:是通过关联关系获取到的数据。注意观看视图的三个字段的来源。自然,在appliancesID为112233的记录中没有brandID,所以自然不能读取到数据。

    实验二

    7c33ddcc63ef20ef9ab524789d0e5d66.png

    说明: 往只含一个基本字段中插入数据是完全没有问题的。上图也插入成功了。

    实验三

    将多个基表的字段都插入试试:

    insert into appliances_view(id,name,brandName) values(112234,'视图','冰箱')

    656ded38efc5a7e445a9ec956a5e3614.png

    小节:

    使用INSERT语句进行插入操作的视图必须能够在基表(组成视图查询的表)中插入数据,否则会操作失败。

    如果视图上没有包括基表中所有属性为not null的行,那么插入操作会由于哪些列的NULL值而失败。

    补充

    通过视图可以向数据库表中插入数据,修改数据和删除表中数据。如果视图的SELECT语句中包含了DISTINCT、表达式(如计算列和函数),或FROM子句中引用多个表,或者引用不可更新的视图,或有Group by 或者having子句,那么都不能通过视图操作数据。

    ff8518336e12cc1e82378779000733bf.png

    3.3 修改数据

    ec4c016e17d337b23ef74f18c11f7e7d.png

    解释

    能够对数据进行修改,但是只能修改一张表中的数据。

    查看下图,修改基于两个表的字段:

    033bacd5b13723dc9b509a28be8fbf82.png

    失败了,说明只能修改一张表中的字段。

    3.4 删除数据

    5453112b275c6771d1fef163056c5f75.png

    小结:

    如果一个视图链接了两个以上的基表,则不允许进行数据删除操作。如果视图中的列是常数或者几个字符串列值得和,那么尽管插入和更新操作时不允许的,但是却可以进行删除操作。

    实验:

    (一) 创建基于一个表的视图:

    caed87f80f01541787b4718b4318e187.png

    (二)执行删除操作结果:

    81a3b73a0b15663167ea385c008a3ca3.png

    (三)结果说明:

    基于一个表的视图是能够执行删除操作的。

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持WEB开发者。如有错误或未考虑完全的地方,望不吝赐教。

    de3ddabfe1b9ced3cf097bd00bf5bd28.png

    扫描关注:"WEB开发者网“公众号,分享WEB开发知识,让开发变得更简单!

    展开全文
  • SQL中数据查询及视图

    千次阅读 多人点赞 2020-04-07 17:14:03
    数据查询 语句格式 SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式>] … FROM <表名或视图名>[,<表名或视图名> ]…|(SELECT 语句) [AS]<别名> [ WHERE <条件表达式> ] ...

    一.数据查询
    语句格式
    SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式>] …
    FROM <表名或视图名>[,<表名或视图名> ]…|(SELECT 语句)
    [AS]<别名>
    [ WHERE <条件表达式> ]
    [ GROUP BY <列名1> [ HAVING <条件表达式> ] ]
    [ ORDER BY <列名2> [ ASC|DESC ] ];
    其中:
    SELECT子句:指定要显示的属性列
    FROM子句:指定查询对象(基本表或视图)
    WHERE子句:指定查询条件
    GROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用聚集函数。
    HAVING短语:只有满足指定条件的组才予以输出
    ORDER BY子句:对查询结果表按指定列值的升序或降序排序
    (1)单表查询
    1.选择表中的若干列
    查询指定列

     /*查询全体学生的学号与姓名*/
    SELECT Sno,Sname
     FROM Student; 
    

    查询全部列(选出所有属性列):
    在SELECT关键字后面列出所有列名
    将<目标列表达式>指定为 *。

    /*查询全体学生的详细记录*/
    SELECT  Sno,Sname,Ssex,Sage,Sdept 
    FROM Student;SELECT  *
    FROM Student; 
    

    查询经过计算的值 :
    SELECT子句的<目标列表达式>不仅可以为表中的属性列,也可以是表达式

    /*查全体学生的姓名及其出生年份*/
    SELECT Sname,2020-Sage          /*假设当时为2020年*/
    FROM Student;
    

    使用列别名改变查询结果的列标题

      SELECT Sname NAME,'Year of Birth:'  BIRTH,2014-Sage  BIRTHDAY,LOWER(Sdept)  DEPARTMENT
    	FROM Student;
    

    2.选择表中的若干元组
    消除取值重复的行(如果没有指定DISTINCT关键词,则缺省为ALL )

    /*查询选修了课程的学生学号*/
        SELECT Sno   FROM SC;
    	等价于:
    	SELECT ALL  Sno  FROM SC;
    

    指定DISTINCT关键词后,查询结果会自动消除取值重复的行

     SELECT DISTINCT Sno
        FROM SC; 
    

    查询满足条件的元组
    常用的查询条件

    比较大小

    /*查询所有年龄在20岁以下的学生姓名及其年龄*/
         SELECT Sname,Sage 
         FROM     Student    
         WHERE  Sage < 20;
    

    确定范围

    /*查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄*/
    SELECT Sname, Sdept, Sage
    FROM     Student
    WHERE   Sage BETWEEN 20 AND 23; 
    

    确定集合

    /*查询计算机科学系(CS)、数学系(MA)和信息系(IS)学生的姓名和性别*/
    	SELECT Sname, Ssex
    	FROM  Student
    	WHERE Sdept IN ('CS','MA’,'IS' );
    

    字符匹配
    谓词: [NOT] LIKE ‘<匹配串>’ [ESCAPE ‘ <换码字符>’]

    <匹配串>可以是一个完整的字符串,也可以含有通配符%和 _

    % (百分号) 代表任意长度(长度可以为0)的字符串
    例如a%b表示以a开头,以b结尾的任意长度的字符串

    _ (下横线) 代表任意单个字符。
    例如a_b表示以a开头,以b结尾的长度为3的任意字符串
    例:查询学号为201215121的学生的详细情况。

    SELECT *    
    FROM  Student  
    WHERE  Sno LIKE201215121';
    
    等价于:
    SELECT  * 
    FROM  Student 
    WHERE Sno = ' 201215121 ';
    

    查询所有姓刘学生的姓名、学号和性别。

    SELECT Sname, Sno, Ssex
     FROM Student
    WHERE  Sname LIKE '刘%';
    

    查询姓"欧阳"且全名为三个汉字的学生的姓名。

    SELECT Sname
     FROM   Student
      WHERE  Sname LIKE '欧阳__';
    

    使用换码字符将通配符转义为普通字符
    例:查询DB_Design课程的课程号和学分。

    SELECT Cno,Ccredit
          FROM     Course
          WHERE  Cname LIKE 'DB\_Design' ESCAPE '\ ' ;
    

    ⑤ 涉及空值的查询

    /*查所有有成绩的学生学号和课程号*/
          SELECT Sno,Cno
          FROM     SC
          WHERE  Grade IS NOT NULL;
    

    ⑥多重条件查询
    逻辑运算符:AND和 OR来连接多个查询条件
    AND的优先级高于OR,但可以用括号改变优先级

    /*查询计算机系年龄在20岁以下的学生姓名*/
          SELECT Sname
           FROM  Student
           WHERE Sdept= 'CS' AND Sage<20;
    

    3.ORDER BY子句
    可以按一个或多个属性列排序
    升序:ASC;降序:DESC; 缺省值(即默认)为升序

    /*查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列*/
            SELECT  *
            FROM  Student
            ORDER BY Sdept, Sage DESC;  
    

    4.聚集函数
    统计元组个数:COUNT(*)
    统计一列中值的个数:COUNT([DISTINCT|ALL] <列名>)
    计算一列值的总和(此列必须为数值型):SUM([DISTINCT|ALL] <列名>)
    计算一列值的平均值(此列必须为数值型):AVG([DISTINCT|ALL] <列名>)
    求一列中的最大值和最小值:MAX([DISTINCT|ALL] <列名>) MIN([DISTINCT|ALL] <列名>)
    例:

    /*计算1号课程的学生平均成绩*/
              SELECT AVG(Grade)
              FROM    SC
              WHERE Cno= ' 1 ';
    

    5.GROUP BY子句
    GROUP BY子句分组:
    细化聚集函数的作用对象
    如果未对查询结果分组,聚集函数将作用于整个查询结果
    对查询结果分组后,聚集函数将分别作用于每个组
    按指定的一列或多列值分组,值相等的为一组

    /*查询选修了3门以上课程的学生学号*/
    SELECT Sno
    FROM  SC
    GROUP BY Sno
     HAVING  COUNT(*) >3;    //组内求和大于3  
    

    注:WHERE子句中是不能用聚集函数作为条件表达式
    HAVING短语WHERE子句的区别:
    作用对象不同
    WHERE子句作用于整个基表或视图,从中选择满足条件的元组
    HAVING短语作用于,从中选择满足条件的组。

    二.视图
    视图,它是虚表,是从一个或几个基本表(或视图)导出的表,只存放视图的定义,不存放视图对应的数据,基表中的数据发生变化,从视图中查询出的数据也随之改变。
    (1)定义视图
    1.建立视图
    语句格式
    CREATE VIEW <视图名> [(<列名> [,<列名>]…)]
    AS <子查询>
    [WITH CHECK OPTION];
    WITH CHECK OPTION子句:对视图进行UPDATE,INSERT和DELETE操作时要保证更新、插入或删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)
    注:关系数据库管理系统执行CREATE VIEW语句时只是把视图定义存入数据字典,并不执行其中的SELECT语句。

    /* 定义视图*/
    create view test
    as 
    select sno ,name,course
    from sd
    
    /*建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生*/
     CREATE VIEW IS_Student
     AS 
     SELECT Sno,Sname,Sage 
    FROM  Student
     WHERE  Sdept= 'IS'
      WITH CHECK OPTION;
    

    定义IS_Student视图时加上了WITH CHECK OPTION子句,对该视图进行插入、修改和删除操作时,RDBMS会自动加上Sdept='IS’的条件。
    若一个视图是从单个基本表导出的,并且只是去掉了基本表的某些行和某些列,但保留了主码,我们称这类视图为行列子集视图
    我们也可以建立基于视图的视图

    create view mytest
    as
    select sno, name
    from test; //test本身为视图
    

    带表达式的视图

    /*定义一个反映学生出生年份的视图*/
            CREATE  VIEW BT_S(Sno,Sname,Sbirth)
            AS 
            SELECT Sno,Sname,2014-Sage
            FROM  Student;
    

    分组视图

    /*将学生的学号及平均成绩定义为一个视图*/
    	       CREATE  VIEW S_G(Sno,Gavg)
                 AS  
                 SELECT Sno,AVG(Grade)
                 FROM  SC
                 GROUP BY Sno;
    

    2.删除视图
    语句的格式:DROP VIEW <视图名>[CASCADE];
    该语句从数据字典中删除指定的视图定义

    /* 删除视图 */
    drop view mytest; //删除视图名为mytest的视图
    

    (2)查询视图
    从用户的角度:查询视图与查询基本表相同
    例:查询视图test和表课程中符合条件的元组。

    /* 查询视图*/
    select sno,course,课程号
    from test,课程
    where sno='020101' and course=课程名;
    

    关系数据库管理系统实现视图查询的方法
    视图消解法(View Resolution):
    1.进行有效性检查
    2.转换成等价的对基本表的查询
    3.执行修正后的查询
    例:在信息系学生的视图中找出年龄小于20岁的学生。

      SELECT   Sno,Sage
           FROM      IS_Student
           WHERE   Sage<20;
    // 视图消解转换后的查询语句为:
     SELECT  Sno,Sage       
     FROM  Student
     WHERE  Sdept= 'IS'  AND  Sage<20;
    

    视图消解法的局限
    对于非行列子集视图,视图消解法不能生成正确的查询。
    (3)更新视图
    其他更新视图的语句跟更新表相同,不一一解释了
    例:将信息系学生视图IS_Student中学号”201215122”的学生姓名改为”刘辰”。

    UPDATE  IS_Student
    SET  Sname= '刘辰'
    WHERE  Sno= ' 201215122 ';
    

    DB2对视图更新的限制
    若视图是由两个以上基本表导出的,则此视图不允许更新。
    若视图的字段来自字段表达式或常数,则不允许对此视图执行INSERT和UPDATE操作,但允许执行DELETE操作。
    若视图的字段来自聚集函数,则此视图不允许更新。
    若视图定义中含有GROUP BY子句,则此视图不允许更新。
    若视图定义中含有DISTINCT短语,则此视图不允许更新。
    一个不允许更新的视图上定义的视图也不允许更新。
    若视图定义中有嵌套查询,并且内层查询的FROM子句中涉及的表也是导出该视图的基本表,则此视图不允许更新。
    (4)视图的作用
    1.视图能够简化用户的操作
    2.视图使用户能以多种角度看待同一数据
    3.视图对重构数据库提供了一定程度的逻辑独立性
    4.视图能够对机密数据提供安全保护
    5.适当的利用视图可以更清晰的表达查询

    展开全文
  • sql server视图排序

    千次阅读 2020-11-03 16:07:15
    视图可以可以理解为一个临时,是一个结果集合,大部分对表的操作语句都可以用,但是对于升序降序的语句略有不同 这里我们选择设计界面直接操作 第一步:列条件区域进行设置,类似于excel的傻瓜式操作 第二...
  • 透视Hbase数据模型|概念视图|物理视图

    千次阅读 多人点赞 2021-09-22 15:26:24
    HBase 数据存储有行和列的表中。这是与关系数据库 (RDBMS) 的术语重叠,但这不是一个有用的类比。相反,将 HBase 视为多维映射可能会对理解更有所帮助。 先来看下hbase模型的专业术语 table ():...
  • 利用列标题对列表视图进行数据排序 利用列标题对列表视图进行数据排序 利用列标题对列表视图进行数据排序
  • SQL视图和多连接

    千次阅读 2021-02-02 18:31:16
    首先,还是要说明一下视图的定义:视图是基于SQL语句的结果集的可视化虚拟,换句话说视图就是SQL查询结果的可视化呈现,是多个的部分数据的关系虚拟。为了后面的内容更容易理解,我们还要看一下视图的建立过程...
  • SPSS的数据视图和变量视图

    千次阅读 2020-12-19 20:38:17
    对于spss而言,它把数据编辑窗口分成了两张显示,一张是数据视图,另一张则是变量视图;下边分别介绍这两个视图。数据视图可以直接由用户输入数据和存放数据,视图的左边显示的是个案的序号,上边显示的是变量的...
  • SAP 实现SM30维护器插入数据后自动排序
  • Oralce静态数据字典目录,为采集前获取上游Oralce系统结构做准备
  • 1.查询语法 select A.COLUMN_NAME,A.DATA_TYPE from user_tab_columns A where TABLE_NAME='表名' 2.查询例子 select A.COLUMN_NAME,A.DATA_TYPE from user_tab_columns A ...添加排序后例子 sele...
  • 随着语义网络中数据量的激增,RDF数据集中高效查询数据已成为一个亟待解决的问题。传统的基于物化视图的RDF模式匹配方法虽然能降低的自连接操作次数,加快查询模式重写过程,但在视图集中检索模式匹配的视图等价...
  • MySQL数据备份以及视图

    千次阅读 2019-01-10 12:26:02
    外键可以在创建的时候或者创建之后增加(但是要考虑数据的问题). 一张可以有多个外键. 创建的时候增加外键:在所有的表字段之后,使用foreign key(外键字段) references 外部(主键字段) -- 主 ...
  • MYSQL中视图的使用

    千次阅读 2021-02-08 01:57:02
    1、什么是视图执行一条SQL,...注意事项• 在视图创建后,可以用与基本相同的方式使用(查询、过滤、排序数据、与其他视图或连结、(添加、更新))• 视图只是用来查看存储别处的数据的设施,本身不包含数据,返回...
  • 取别名时,要保证不能与数据库的其他的名称冲突。 对单做简单的别名查询通常是无意义的。一般是对一个要当作多个来操作,或者是对多个进行操作时,才设置别名。 当为取别名后,列名前面...
  • 1、我们之前讲解过【分类汇总】,有一个特别的注意事项就是【排序】,然后才可以进行之后的操作。2、接下来我们开始正式的讲解【数据透视】,选择【整个表格】,然后选择【插入-数据透视】。3、然后弹出的表格...
  • 如何前端界面操作数据表

    千次阅读 2018-10-24 21:39:42
    前端界面操作数据表来实现对数据库的操作,主要分4各部分,增删改查。通过Parameters.Add(@变量名,值)进行传值,思路上基本类似,主要区别就在于SQL命令语句的不同。下面主要就用DataGridView控件来实现数据表...
  • MYSQL将两张数据合并显示

    千次阅读 多人点赞 2021-07-08 16:13:08
    使用union操作符会将多张表相同的数据取值一次,如果想将1和2的值完整的显示出来,可以使用union all。 演示 小伙伴们自行创建一下1数据如下: 2数据如下: OK,表数据已经创建完成,...
  • 视图的介绍与作用、视图的创建、视图的修改、视图的更新、视图的重命名与删除、视图的实际操作练习
  • 目录视图1、视图定义1、为什么需要视图3、视图的作用优点作用:优点:4、创建视图5、视图使用规则1)视图的嵌套:2)视图排序的覆盖6、修改视图多连接视图:复杂视图7、 删除视图8:MySQL数据库的视图保存: ...
  • tableau-行计算、视图计算、计算

    千次阅读 2020-02-05 16:27:29
    Tableau的计算分为几类,重点是前面三类。 索引排序函数:index()、size()、first()、last() ——这四个不需要参数; rank()及延伸函数,如rank_dense(),rank_modified()等; 移动计算函数:running_x ,比如 ...
  • 【填空题】Access提供了两种...【单选题】Access,一个数据表最多可以建立()个主键。【单选题】The woman had persuaded him to do ( ) he was hired never to do —— reveal the combination for the lock on t...
  • SPSS 数据排序

    千次阅读 2021-02-21 22:51:37
    数据排序的意义:数据排序在数据分析过程非常重要,其便于了解数据的取值状况,SPSS可以数据基于一个或多个个案(变量)进行排序数据排序包括个案排序和变量排序,下面我将介绍这两种排序的操作方法。 二、...
  • SQL语法(包括建库、建表、建视图、查询、增加、删除、修改)SQL分类:DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)DCL—数据控制语言(GRANT,REVOKE,COMMIT...
  • 项目开发有个需求是需要给table 表格 增加拖拽排序功能,我使用了sortable.js 使用过程发现 拖拽之后 数据发生了变化,但是页面并没有更新,怀疑是table 视图渲染问题。 解决方案: element table 有一个...
  • QTQTableView 点击表头进行排序

    万次阅读 2017-03-11 14:40:24
    今日,由于工作需要,要实现QTableView点击表头进行排序的功能,但QTableView并未提供此功能,经过苦苦的网络搜索也为发现可用的代码。最后经过跟踪QTableWidget的排序功能实现,总算实现了此功能。 此文章将...
  • Sql Server视图数据的增删改查

    万次阅读 多人点赞 2017-09-13 00:09:16
    因此数据库只存在视图的定义,而不存在视图中相对应的数据数据仍然存放原来的基本表中视图是一种逻辑对象。 二、 视图能做什么 导出数据导出数据时,常常需要多个联合查询,这个时候就...
  • mysql数据库实验实训6,数据视图(详细)

    千次阅读 多人点赞 2022-04-15 17:32:18
    mysql数据库实验实训6,数据视图(详细) 视图是根据用户的不同需求,物理数据库上按用户观点来定义的数据结构。视 图是一个虚,数据库只存储视图的定义,不实际存储视图所对应的数据,对视图的数据进行操作时...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 179,605
精华内容 71,842
热门标签
关键字:

在表的数据表视图中可以排序