数据库SQL语言语法总结5---视图

SQL语言的语法 数据定义语言主要用于创建、修改和删除数据库中的表和其他对象。以下是一些常用的DDL命令及其示例。 阅读详情

一 :创建
(只创建逻辑结构,没有实际的数据)(视图就是显示物理数据,不额外创建其他数据)
create view <视图名> [(<列名1>[,<列名2>]…)] as <子查询> [with check option]
作用:显示符合子查询条件的列1 列2…….
[with check option]表示当用户做更新操作时,是否进行约束条件的检查(例2将详细叙述)

下面结合几个例子帮助各位看客来了解以上语句的用法:

前提条件:
数据库中现存在3个关系表
Student (Sno ,Sname,Ssex,Sage,Sdept);
解释:学生(学号,学生姓名,学生性别,学生年龄,学生专业);
Course(Cno,Cname,Cpno);
解释:课程(课程号,课程名,可能的先修课程);
SC(Sno,Cno,Grade);
解释:学生选课情况(学号,课程号,成绩)

例1:显示IS专业的学生的学号,姓名,年龄,并将视图名改为IS_ Student—————— create view IS_Student as select Sno,Sname,Sage from Student where Sdept = ‘IS’

例2:显示IS专业的学生的学号,姓名,年龄,并将视图名改为IS_ Student—————— create view IS_Student as select Sno,Sname,Sage from Student where Sdept=’IS’ with check option

[with check option]的意思是,当用户插入新的记录时,视图检测是否满足约束条件(Sdept=’IS’),不加[with check option]则数据库不检测专业是否为IS。

例3:显示IS_ S1视图,其中包换学号姓名和年级这三个属性,这个视图描述的是专业为IS且选修了1号课程的学生—————create view IS_S1(Sno,Sname,Grade) as select Student.Sno,Sname,Grade from Student,SC where Sdept = ‘IS’ and Student.Sno=SC.Sno and SC.cno=’1’ (此例中属性列名称必不可少,且Sno因为在Student和SC中都存在,所以必须显性指出是Student下的)

例4: create view IS_S2 as select * from IS _S1 where Grade >=90 ——在例3的基础上筛选出分数在90分以上的学生的信息(此例子只为表明select可以从视图中选择查询)

例5: 显示视图,显示每个学生的学号和选修的课程的平均分—————create view S_G(Sno,Gavg) as select Sno,avg(Grade) from SC group by Sno

二:删除视图
drop view <视图名>
例: drop view IS_S1 ——–将这个视图清除,并且使建立在此视图基础上的其他视图都不再起作用

三:查询视图
例1:select * from IS_Student where Sage<20 (IS _Student详细信息来自于一中的例2) 这个语句在数据库内部被转化为 select Sno,Sname,Sage from Student where Sdept=’IS’ and Sage <20

例2: 查询IS专业且选修了1号课程的学生的学号和姓名————select Sno,Sname from IS_Student,SC where IS _Student.Sno=SC.Sno and SC,Cno=’1’ (from后可以跟视图和关系表)

例3:查询平均分>=90的学生的学号和平均分————–select * from S_G where Gavg>=90 (S _G详细信息来自于一中的例5)

四:更新视图
例1:update IS_Student set Sname=’刘晨’ where Sno=’95020’;
在数据库内部等价于 update Student set Sname=’刘晨’ where Sno=’95020’ and Sdept=’IS’; (如create 视图时没有加 with check option ,则数据库内部等价于update Student set Sname=’刘晨’ where Sno=’95020’)

例2: insert into IS_Studnet values(‘95020’,’赵新’,20); 如创建视图时加with check option,则数据库内部等价于 insert into Student(Sno,Sname,Sage,Sdept) values(‘95020’,’赵新’,20,’IS’),否则则等价于Student(Sno,Sname,Sage) values(‘95020’,’赵新’,20)专业为空

当然有些视图不允许更新:
1)视图由两个以上的基本表导出
2)视图的字段来自字段表达式(经过运算)或常数
3)视图的字段来自集合函数
4)视图定义含group by子句(存在group by语句 时查询也会受到影响)
5)视图定义中含distinct短语
6)视图定义中有嵌套查询,并且内层查询中的from子句设计的表也是导出该视图的基本表
7)一个不允许更新的视图上定义的视图也不允许更新

不允许更新视图时就不要将数据的更新操作的权利下放给用户

SQL语言的语法糖 在当今信息化快速发展的时代,数据处理和分析变得愈发重要。结构化查询语言(SQL,Structured Query Language)作为一种数据库查询和操作语言,逐渐成为数据管理、分析和业务决策的核心工具。SQL的强大之处在于其简洁、直观的语法,使得复杂的数据操作能够以较少的代码行数表达出来。在这个背景下,"语法糖"的概念逐渐浮出水面,并成为了解、使用和扩展SQL语言的重要组成部分。 阅读详情

相关推荐

ClickHouse 创建数据库/建表/视图/字典 SQL

1.1. ClickHouseSQL之数据定义语言 DDL本节介绍 ClickHouse 中进行数据库、表结构的定义和管理。1.1.1.概述在SQL中,数据定义语言( DDL ) 用来创建和修改数据库Schema,例如表、索引和用户等。其中数据库的Schema描述了用户数据模型、字段和数据类型。DDL 语句类似于用于定义数据结构的计算机编程语言。常见DDL 语句包括...

AI天才研究院 3万+

mysql视图的更新 条件_数据库视图中不允许更新的条件

1. 若视图是由两个以上基本表导出的,则此视图不允许更新。2. 若视图的字段来自字段表达式或常数,则不允许对此视图执行INSERT和UPDATE操作,但允许执行DELETE操作。3. 若视图的字段来自集函数,则此视图不允许更新。4. 若视图定义中含有GROUP BY子句,则此视图不允许更新。5. 若视图定义中含有DISTINCT短语,则此视图不允许更新。6. 若视图定义中有嵌套查询,并且内层查询的...

weixin_32968007的博客 2763

STM32CubeMX实战:FreeRTOS内存管理5种方案全解析(附heap_4避坑指南)

本文深入解析了STM32CubeMX环境下FreeRTOS的5种内存管理方案(heap_1到heap_5),重点介绍了heap_4的优化策略与避坑指南。通过对比分析各方案的特点、性能指标及适用场景,帮助开发者根据项目需求选择最优内存管理策略,提升嵌入式系统开发效率与稳定性。

aa123的博客 618

《数据库系统概论》——视图

3.7视图 特点: 虚表,是从一个或几个基本表(或视图)导出的表 只存放视图的定义,不存放视图对应的数据 基表中的数据发生变化,从视图中查询出的数据也随之改变 3.7.1定义视图 1,建立视图 CREATE VIEW <视图名> [(<列名> [,<列名>]…)] AS <子查询> [WITH CHECK OPTION]; /*建立信息系学生的视图。*/ CREATE VIEW IS_Student ...

m0_58297196的博客 1397

AI训练加速30%!用numactl玩转多显卡绑核的隐藏技巧

本文深入探讨了如何利用Linux系统的numactl工具,通过精确的NUMA绑核策略优化多GPU AI训练性能。文章详细解析了NUMA架构对性能的影响,提供了从拓扑探查、命令实战到多卡脚本化部署的完整指南,并分享了性能验证与常见陷阱,帮助开发者实现高达30%的训练加速。

web99的专栏 448

CTF全能工具箱ProV2:集成AI与94GB离线资源库,打造无网环境下的智能解题流水线

CTF全能工具箱ProV2是一款专为线下CTF比赛设计的All-in-One离线解决方案。它集成了94GB的庞大离线资源库,涵盖Web、逆向、Pwn等全方向工具链与知识库,并创新性地内置了本地AI大模型,可在断网环境下提供智能解题辅助,实现从信息收集到漏洞利用的智能流水线作业,极大提升比赛效率。

weixin_29240343的博客 422

更新视图的限制

视图是由一个或多个基本表(或视图)导出的表,它可以是连接多张表的虚表,也可以是通过where子句限制返回行列之后的查询结果。在使用敏感数据的企业中,视图几乎是唯一可以用来面对普通用户的数据库对象。 利用数据库视图进行更新实质上就是对数据库的基本表进行更新。所以视图的更新update命令有很多限制。 1,如果更新视图的字段来自字段表达式或者是常数,则不允许对视图进行Insert、update操作(但可以进行delete操作)。因为,假设用字段表达式或者是常数对视图进行了更新,那么视图的相关行或列就与基本表

weixin_38320476的博客 2584

CircuitBreaker Resilience4J 介绍

在分布式环境中,我们的应用可能会面临着各种各样的可恢复的异常(比如超时,网络环境异常),此时我们可以利用不断重试的方式来从异常中恢复(Retry Pattern),使整个集群正常运行。然而,也有一些异常比较顽固,突然发生,无法预测,而且很难恢复,并且还会导致级联失败(举个例子,假设一个服务集群的负载非常高,如果这时候集群的一部分挂掉了,还占了很大一部分资源,整个集群都有可能遭殃)。如果我们这时还是不断进行重试的话,结果大多都是失败的。

zzhongcy的专栏 3539

SQL使用视图的简单语法大全

使用CREATE VIEW命令创建视图的简单语法如下:     CREATE VIEW 视图名     [WITH { ENCRYPTION | SCHEMABINDING | VIEW_METADATA }]     AS         SELECT 列1, 列2, ……, 列n         FROM 表名         [WHERE 从句]         [WITH CHECK OPTION] 使用CREATE VIEW命令创建视图时对结果集进行排

winddai的专栏 1329

Panda3d 场景管理

许多简单的 3D 引擎维护一个 3D 模型列表,然后在每一帧对这些模型进行渲染。在这些简单的引擎中,必须分配一个3D模型(或从磁盘加载它),然后将其插入到要渲染的模型列表中。模型在插入到列表中之前对渲染器不“可见”。 Panda3D稍微复杂一些。它不是维护要呈现的对象列表,而是维护要呈现的对象树。对象在插入树之前对渲染器不可见。

u014077947的博客 1383

SAP_PP模块跑完 MRP,MD04 里却看不到“计划订单”?排查这 3 个最容易被忽略的主数据参数

MRP 是 SAP 逻辑最严密的模块之一,它绝不会随机罢工。当 MD04 里看不到计划订单时,请不要怀疑系统的计算能力。99% 的情况,都是因为我们给系统下达了矛盾的指令:一边告诉它“我有需求”,一边却通过主数据告诉它“不要计划”、“不要触发”或者“我是冻结的”。掌握这 3 个排查点,你就能在 5 分钟内解决大部分“MRP 失灵”的悬案,成为用户眼中的“系统神医”。

我小时候很黑的博客 590

SQL语言 --- 视图

视图一.视图的特点二.定义视图1.建立视图2.删除视图三.查询视图四.更新视图1.插入2.删除3.修改五.视图的作用1.视图能简化用户的操作2.视图使用户能以多种角度看待同一数据3.视图对重构数据库提供了一定程度的逻辑独立性4.视图能够对机密数据提供安全保护5.适当的利用视图可以更清晰的表达查询 一.视图的特点 (1)是虚表,是从一个或几个基本表(或视图)导出的表; (2)只存放视图的定义,不存放视图对应的数据; (3)基表中的数据发生变化,从视图中查询出的数据也随之改变。 二.定义视图 1.建立视图 C

luran的博客 9107

C++和OpenGL实现3D游戏编程【连载7】——文字和汉字的显示(附源码)

上一节我们讨论了纹理在二维平面内不规则图形贴图的相关基础操作,本节我们开始了解游戏里文字以及汉字的显示方法。本节课我们将从基本的ASCII字符显示,拓展到中文字符的显示,最后再讲到纹理字符的显示,并对各种文字显示方法的优缺点和使用场景进行分析,这节课将使用到显示列表、兼容视图、屏幕图形转纹理等操作。

zhooyu的博客 1498

KingbaseES数据库:兼容 SQL 语法及 Oracle 过程化语言的语法基础

KingbaseES数据库:兼容 SQL 语法及 Oracle 过程化语言的语法基础,KingbaseES 数据库(Oracle 模式)以内核兼容为基础,实现了涵盖内核、工具和接口的全方位 Oracle 兼容,当前 Oracle 常用能力兼容性达 100%,能助力客户应用无感平滑迁移。在基础能力上,它兼容 SQL 语法、Oracle 过程化语言语法基础,覆盖数据类型、伪列、常用表达式、系统视图、内置函数等多方面;高级能力方面,支持 ROWID、BFILE 等特殊类型,DBLink 访问、物化视图等功能,还兼

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 18万+

【Proteus仿真】74HC595+74LS154驱动显示16X16点阵

【Proteus仿真】74HC595+74LS154驱动显示16X16点阵

perseverance51博客 2892

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

数据库-SQL语言(视图)

目录 视图 1、视图的作用 2、定义视图 建立视图 常见的视图形式 3、查询视图 4、更新视图 5、删除视图 视图 试图是从一个或几个基本表(或视图)导出来的表。它与基本表不同,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。所以一旦基本表中的数据发生变化,从视图中查询出来的数据也就随之改变了。从这个意义上说,视图就像是一个窗...

徐小mu的博客 8495

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【数据库】三、SQL语言

1 概述;2 数据定义(DDL);3 数据操作(DML);4 数据控制(DCL);5 视图;6 索引;7 嵌入式SQL

2301_76769195的博客 2287

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

数据库SQL语言_SQL基本

一,基本SQL 1.1、基本概念 1、实体关系图(ERD) 实体关系图(ERD,Entitiy Relationship Diagram)是数据库中数据视图常用的方法,可以将数据库表格的关系可视化。 实体关系图是可以了解从多个表中提取数据的关键要素。 实体关系图如下所示: PK代表表主键,FK代表表外键。 2、什么是SQL SQL是一门用于数据库交互的语言。 可以查询一个表,也可以查...

weixin_45556639的博客 3679

《数据库》第7章 SQL数据定义、更新及数据库编程(上)——SQL数据语言以及视图

7.3.0 视图 视图(VIEW)也被称作虚表,即虚拟的表,是一组数据的逻辑表示,其本质是对应于一条SELECT语句,结果集被赋予一个名字,即视图名字。 视图本身并不包含任何数据,它只包含映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之变化。从这个意义来看,视图就像一个窗口,透过它可以看到数据库中用户感兴趣的数据及变化。每一次查看视图或引用视图的的时候,都会运行一次视图上的查询。 从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样,对表

weixin_51233575的博客 2543

SQL语言 - SQL语法基础

本文包含了所有SQL语言的基础语法,并用例子的方式向你展示。📃箴言:拥有耐心才是生活的关键。

m0_73978383的博客 1233

SQL数据定义、更新,视图

文章目录1 数据定义语言1.1 数据库的定义1.2 基本表的定义1.2.1 创建基本表1.2.2 基本表的修改1.2.3 基本表的删除2 SQL更新语言2.1 插入数据2.2 删除数据2.3 修改数据3 视图3.1 定义视图3.2 查询视图3.3 视图更新3.4 删除视图 1 数据定义语言 1.1 数据库的定义 数据库作为一个整体存放在外存的物理文件中。物理文件有两种: 一是数据文件(data ...

记录学习点滴 2380

SQL数据定义语言DDL、更新语言DML、视图

结构化查询语言SQL包括:数据定义语言DDL、数据操纵语言DML、数据控制语言DCL和其它。 1. SQL数据定义语言DDL 数据库中的关系集合必须由SQL的数据定义语言DDL(data definition language)来定义。 包括:数据库、关系模式、每个属性的值域、完整性约束、每个关系的索引集合和关系的物理存储结构等 SQL数据定义语言DDL包括: 数据库的定义:创建、修改和删除; 基本表的定义:创建、修改和删除; 视图的定义:创建和删除; 索引的定义:创建和删除。 1.1 数据库的定义

IntMain45的博客 1861

数据库介绍及SQL语句及视图、事务

数据库笔记数据库介绍SQLSQL定义SQL的分类:DDL(数据定义语言:操作数据库和表)DML(数据操纵语言:操作数据(增删改))DQL(查询表中的数据记录)(重点)视图事务 数据库介绍 数据库DataBase: 用于存储和管理数据的仓库 特点: 持久化存储数据,数据库就是一个文件系统 方便存储和管理数据 使用统一操作方式 常见的数据库软件: Oracel MySQL ...

security 2160

Hive SQL语法详解

文章参考博客链接-------Hadoop Hive sql语法详解 文章参考官方 hive依赖于HDFS存储数据,Hive将HQL转换成MapReduce执行,所以说Hive是基于Hadoop的一个数据仓库工具,实质就是一款基于HDFS的MapReduce计算框架,对存储在HDFS中的数据进行分析和管理 Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式...

阳阳阳的博客 2060

sql语法学习

SQL支持多种数据类型,包括数值型(如INT、FLOAT)、字符串型(如VARCHAR、TEXT)、日期时间型(如DATE、TIMESTAMP)等。同时,通过SQL优化技术,如索引优化、查询优化等,可以进一步提高数据库的性能。虽然索引可以加快查询速度,但它们也会减慢数据插入、删除和更新的速度,因为数据库需要同时更新索引。通过编写复杂的查询语句,可以提取出业务所需的关键数据,并生成可视化的报表。通过创建用户、分配角色和权限,可以确保数据库的安全性和数据的机密性。子查询是嵌套在其他查询中的查询。

weixin_45710581的博客 1526

SQL语言概述与SQL语言的数据定义

本文主要讲解了SQL语言的概述性内容,以及SQL语言中的一些语法定义和数据格式的定义

weixin_52042488的博客 3062
上一篇: 数据库SQL语言语法总结4---数据更新
下一篇: 数据库SQL语言语法总结6---数据控制
菜鸟方圆圆
博客等级 码龄10年 26粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值