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、 可以重新组织数据以便输出到其他应用程序中;

sql视图 权限_MySQL数据库的SQL语言与视图相关推荐

  1. mysql oracle sql区别吗_mysql数据库的SQL语句和oracle的有什么区别?详细点

    匿名用户 1级 2017-08-20 回答 区别如下: 1. Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Or ...

  2. Visual Studio 2019连接自动的Sql Server开发版数据库(C#语言)

    Visual Studio 2019连接自动的Sql Server开发版数据库,C#语言 连接字符串: server=(LocalDB)\MSSQLLocalDB;database=master;in ...

  3. MySQL数据库sql分类_mysql数据库常用sql的分类整理

    **************************************************************************************************** ...

  4. sql select 抛异常_mysql数据库及sql注入

    mysql数据库及sql注入 学习sql注入原理可以帮助我们写代码的时候避免一些不必要的漏洞,禁止用于违法用途. mysql -u root -p回车后数据密码(默认root)进入数据库,没有配置环境 ...

  5. mysql sql乱码怎么解决_MYSQL数据库导入SQL文件出现乱码如何解决

    导入的方法: mysqluse test; mysql source c:/test.sql 导入数据时,如果目标数据库或表是UTF-8字符集的,而导入SQL中有中文,可能在最终结果中出现乱码,此时只 ...

  6. mysql中sql语句使用_mysql数据库中用到sql语句

    一.删除mysql表中的的索引 alter table DM_Equipment_Fixed drop index name ; 添加索引:ALTER TABLE table_name ADD IND ...

  7. mysql数据库函数练习_Mysql 数据库操作SQL练习

    一.数据库的创建: 创建一个名称为mydb1的数据库CREATE DATABASE mydb1; 创建一个使用utf8字符集的mydb2数据库.CREATE DATABASE mydb2 CHARAC ...

  8. mysql导出sql乱码_MySQL数据库导出SQL出现乱码解决

    环境:NavicatforMysql8.2 + MySQL Sever 5.1 问题:MySQL 数据库导出SQL出现乱码 解决: 方法一: 将数据库的编码改成UTF-8. 环境:Navicatfor ...

  9. 刚装的系统没有sql server(mssqlserver)_数据库与SQL学习

    本篇是数据分析系统学习专栏的第四篇文章--数据库与SQL学习.如果想要了解写作初衷,可以先行阅读如何系统学习数据分析. 数据库和SQL的基本概念 推荐阅读:怎么简单地理解数据库的概念? 核心概念: 数 ...

最新文章

  1. WebStorm配置SVN
  2. 公司升级ERP软件的三大诱因
  3. 【iOS XMPP】使用XMPPFramewok(三):好友状态
  4. navicat怎么安装mysql数据库_【20170825】从零开始学SQL数据库 安装mysql与navicat,开始练习...
  5. [设计模式]开闭原则
  6. cmake 常用命令
  7. python Web抓取(一)[没写完]
  8. NOI2012 Day2
  9. 按比例设置获奖人数方案
  10. talentcentral测评结果_WinTalent人才测评系统
  11. ie6下,给a添加事件,如果事件中有http请求,将会无效
  12. HDFView3.1.4下载好了环境变量也配置了但就是打不开!!
  13. 点云配准(CloudCompare软件)
  14. C#Winform拓展控件之Panel
  15. C++程序设计的技巧-Pimple的使用
  16. Scala 继承和特质
  17. 计算机导航种植牙的优势,计算机导航微创种植牙修复
  18. 数字图像处理2021.9.27—空域方法-滤波处理Filter subimage
  19. 让Android控件随着屏幕旋转自由转移至任何地方 附demo
  20. PMP英文报名时,如何描述自己的项目经验?

热门文章

  1. SAP Fiori Elements - how to create annotation for a property
  2. odata.publish = true的CDS view激活之后,后台发生了什么事情
  3. 在Ubuntu上以精灵进程daemon process的方式启动一个命令
  4. CM: 如何通过table SKWG_BREL快速查询product attachment信息
  5. Involved Parties Object ID generation logic
  6. 如何使用代码获得ABAP repository object不同版本的内容
  7. SAP CRM呼叫中心和社交媒体集成的所有BC set实现列表
  8. SAP Fiori里两种锁机制(lock)的实现
  9. python元类_python中的元类 metaclass
  10. rabbitmq实战_RabbitMQ 实战系列之:消息传递