• MySQL数据库的SQL语言与视图


    SQL语言

    SQL是strcture query language 的缩写,是关系型数据库的标准语言结构化 查询 语言包括三个大的内容:

    A、 DDL数据定义语言:create database table •••••••

    B、 DML数据操纵语言:insert update delete

    C、 DCL数据控制语言:grant••••••

    创建视图(视图也叫虚拟表;表:基本表)使用create view 语句创建试图,格式如下:

    Create [ or replace(将现有的覆盖) ] view view_nameAs select_statement[ with [cascaded | local ]check option ]

    Replace:替换

    Check:检查

    option:选项

    Cascaded:级联(默认)

    local:本地简化

    创建视图命令:Create view view_name As select_statementCreate view 视图名 as 查询语句

    注意:

    视图分为可更新视图和不可更新视图。

    1、 查看视图的定义命令:Show create view view_name

    例:show create view 计算机专业_xsshow create view lssxcj_cjb;

    2、 删除已创建好的视图命令:Drop view view_name例:drop view 离散数学

    例题1:在学生管理数据库中为计算机专业的同学创建一个视图

    Create view 计算机专业_xs as select from xs where 专业=’计算机’ with check option;

    使用show tables查看使用select from 视图名_xs查看视图中的数据

    3、 创建学生成绩视图

    Create view 学生成绩_xs_kc_cj asSelect 姓名,课程名,成绩 from xsl,kb,cjb where xsl.学号=cjb.学号 andkb.课程号=cj.课程号;

    【说明】

    1. 若指定了【or replace】参数,则表示如果存在同名的视图,则覆盖原来的视图。

    2. With check option:为可选项,不指定该项不进行相关检查。而如果指定该选项,则可指出在可更新视图上所进行的修改都要符合select_statement 所指定的限制条件,这样可以确保数据修改后,仍可通过视图看到修改的数据,当视图是根据另一个视图定义时,with check option 给出两个参数:local(本视图)和 cascaded(级联到所有下一级视图)。它们决定了检查测试的范围。

    可更新视图要通过视图更新基本表的数据,必须保证视图是可更新的,既可以在insert update等语句中当中使用它们。对于可更新的视图,在视图中的行为和基本表中的行之间具有一对一的关系。还有一些特定的其他结构,这类结构会使得视图不可更新。

    如果视图含下述结构中的任何一种,那么它就是不可更新的。

    聚合函数:max() sum() count() avg()等;

    Distinct 关键字;

    Group by 子句;

    Order by 子句;

    Having 字句;

    From 子句中包含多个表;

    Select 语句中引用了不可更新的视图Where子句中的子查询,引用from子句中的表;视图与表的区别视图是从一个或多个表(或视图)导出的虚拟表。而表有时也称为基本表——base table。即视图所对应的数据不进行实际存储,数据库中只存储视图的的定义,对视图的数据进行操作时,系统根据视图的定义去操作与视图相关的基本表。在information_schema数据库的tables表中有记录。

    Select table_schema,table_name,table_type from tables where table_schema=’xsgl2’; 视图一经定义后,就可以像表一样被查询、修改、删除、更新。

    使用视图有以下优点:

    1、 为用户集中数据,简化用户的数据查询、修改、删除和更新;

    2、 屏蔽数据库的复杂性;

    3、 简化用户的权限管理;

    4、 便于数据共享;

    5、 可以重新组织数据以便输出到其他应用程序中;

    只为更好的服务;服务工作者。
  • 相关阅读:
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 数字黑洞
    Minifilter微过滤框架:框架介绍以及驱动层和应用层的通讯
  • 原文地址:https://www.cnblogs.com/pony-mamba/p/13570769.html
Copyright © 2020-2023  润新知