【数据库复习】第三章关系数据库标准语言SQL 集合查询 2

news2024/10/7 14:31:54

用EXISTS/NOT EXISTS实现全称量词

SQL语言中没有全称量词" (For all)

可以把带有全称量词的谓词转换为等价的带有存在量词的谓词:

       

 

查询学生S没有选修的课程

 

查询选修了全部课程的学生姓名。

等价于:查询这样的学生,没有一门课程是他没选修的。

 

branch (branch-name, branch-city, assets)

account (account-number, branch-name, balance)

depositor (customer-name, account-number)

找出在Brooklyn的所有分行中有存款账户的客户

 

 

数据定义

 

定义一个学生-课程模式S-T

            CREATE SCHEMA S-T AUTHORIZATION WANG;

             为用户WANG定义了一个模式S-T

删除模式

DROP SCHEMA <模式名> <CASCADE | RESTRICT>

CASCADE(级联)

    删除模式的同时把该模式中所有的数据库对象全部删除

RESTRICT(限制)

   如果该模式中定义了下属的数据库对象(如表、视图等),则拒绝该删除语句的执行。

   当该模式中没有任何下属的对象时才能执行。

例DROP SCHEMA ZHANG CASCADE;

         删除模式ZHANG

         同时该模式中定义的表TAB1也被删除

基本表的定义、删除与修改

一、定义基本表

CREATE TABLE <表名> (<列名> <数据类型>[ <列级完整性约束条件> ]    [,<列名> <数据类型>[ <列级完整性约束条件>] ]   [,<表级完整性约束条件> ] );

 

二、数据类型

 

  • 模式与表

每一个基本表都属于某一个模式

一个模式包含多个基本表

定义基本表所属模式

方法一:在表名中明显地给出模式名

Create table “S-T”.Student(......);   /*模式名为 S-T*/

Create table “S-T”.Cource(......);

Create table “S-T”.SC(......);

方法二:在创建模式语句中同时创建表

方法三:设置所属的模式,在创建表时表名中不必给出模式名。

四、修改基本表

ALTER TABLE <表名>

[ ADD <新列名> <数据类型> [ 完整性约束 ] ]

[ DROP <完整性约束名> ]

[ ALTER COLUMN<列名> <数据类型> ];

五、删除基本表

DROP TABLE <表名>[RESTRICT| CASCADE];

RESTRICT:删除表是有限制的。

欲删除的基本表不能被其他表的约束所引用

如果存在依赖该表的对象,则此表不能被删除

CASCADE:删除该表没有限制。

在删除基本表的同时,相关的依赖对象一起删除

数 据 更 新

一、插入元组

语句格式

INSERT

INTO <表名> [(<属性列1>[,<属性列2 >…)]

VALUES (<常量1> [,<常量2>]    …           )

功能

将新元组插入指定表中

 

  • 插入子查询结果

语句格式

    INSERT

    INTO <表名>  [(<属性列1> [,<属性列2>…  )]

    子查询;

功能

    将子查询结果插入指定表中

 

修改数据

语句格式

   UPDATE  <表名>

    SET  <列名>=<表达式>[,<列名>=<表达式>]…

    [WHERE <条件>];

功能

修改指定表中满足WHERE子句条件的元组的指定列值

 

删除数据

语句格式

       DELETE

       FROM     <表名>

       [WHERE <条件>];

功能

删除指定表中满足WHERE子句条件的元组

WHERE子句

指定要删除的元组

缺省表示要删除表中的全部元组,表的定义仍在字典中

 

视  图

视图的特点

虚表,是从一个或几个基本表(或视图)导出的表

只存放视图的定义,不存放视图对应的数据

基表中的数据发生变化,从视图中查询出的数据也随之改变

基于视图的操作

 查询

 删除

 受限更新

 定义基于该视图的新视图

一、建立视图

语句格式

       CREATE  VIEW

             <视图名>  [(<列名>  [,<列名>]…)]

       AS  <子查询>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/415966.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于灵动微SPIN系列开发的水泵方案介绍 以 MM32SPIN040C/MM32SPIN560C为主控

水泵是输送液体或使液体增压的机械。它将原动机的机械能或其他外部能量传送给液体&#xff0c;使液体能量增加&#xff0c;主要用来输送液体包括水、油、酸碱液、乳化液、悬乳液和液态金属等。 水泵以 MM32SPIN040C/MM32SPIN560C为主控。 水泵方案 MCU: MM32SPIN系列 1.输入…

redis主从复制详解

文章目录主从复制概述主从复制的作用主要包括&#xff1a;数据冗余故障恢复负载均衡高可用基石主从库之间采用的是读写分离的方式读操作写操作主从复制原理全量复制确立主从关系全量复制的三个阶段第一阶段是主从库间建立连接、协商同步的过程&#xff0c;主要是为全量复制做准…

业务逻辑复杂如何解决性能问题

0 前言 上节针对生成订单信息这个接口做了三个阶段的分析定位和优化动作&#xff0c;让TPS变得正常。不过&#xff0c;系统资源并没有完全用起来&#xff0c;这个接口显然还有优化空间。性能优化的过程中&#xff0c;要把资源都用起来。 在性能环境中做优化&#xff0c;把资源…

自动化测试框架之selenium

目录1 自动化测试1.1 单元测试1.2 接口测试1.3 UI测试1.3.1 UI自动化测试的优点&#xff1a;1.3.2 UI自动化测试的适用对象1.4 自动化测试流程2 selenium3 selenium IDE 录制脚本1 自动化测试 自动化测试指软件测试的自动化&#xff0c;在预设状态下运行应用程序或者系统&…

50 openEuler搭建PostgreSQL数据库服务器-配置环境

文章目录50 openEuler搭建PostgreSQL数据库服务器-配置环境50.1 关闭防火墙并取消开机自启动50.2 修改SELINUX为disabled50.3 创建组和用户50.4 创建数据盘50.4.1 方法一&#xff1a;在root权限下使用fdisk进行磁盘管理50.4.2 方法二&#xff1a;在root权限下使用LVM进行磁盘管…

图解HTTP阅读笔记:第5章 与HTTP协作的Web服务器

《图解HTTP》第五章读书笔记 图解HTTP第5章 与HTTP协作的Web服务器5.1 用单台虚拟主机实现多个域名5.2 通信数据转发程序&#xff1a;代理、网关、隧道5.2.1 代理5.2.2 网关5.2.3 隧道5.3 保存资源的缓存5.3.1 缓存的有限期限5.3.2 客户端的缓存第5章 与HTTP协作的Web服务器 5…

学习系统编程No.18【进程间通信之管道实战】

引言&#xff1a; 北京时间&#xff1a;2023/4/11/21:17&#xff0c;今天的文章更新啦&#xff01;但是还是没有上热榜&#xff0c;所以我们需要继续更文啦&#xff01;我相信下一篇博客肯定是可以上热榜的&#xff0c;加油&#xff01;并且今天晚上因为有一节体育课&#xff…

Linux下让进程不再被拉起

Linux下为了防止应用挂掉&#xff0c;我们会设置服务进程来拉起这些应用。但某些流氓软件也会利用该机制使得它们被杀掉后能再被拉起来。本文讲述让这些进程不再被拉起的方法。 比如&#xff0c;有名称为recordmain.bin的进程&#xff0c;使用kill -9 杀掉它后&#xff0c;过几…

NVIDIA jetson tensorrt加速yolov5摄像头检测

link 在使用摄像头直接检测目标时&#xff0c;检测的实时画面还是有点慢&#xff0c;下面是tensorrt加速过程记录。 一、设备 1、设备jetson agx xavier 2、jetpack4.6.1 3、tensorrt 8.2.1.8 4、conda虚拟环境 python3.6 二、虚拟环境搭建及依赖 1、参考此博客安装torch Nvidi…

做自动化测试时所谓的“难点”

这篇关于自动化测试的文章&#xff0c;可能和你看到的大多数自动化的文章有所不同。我不是一位专职的自动化测试工程师&#xff0c;没有开发过自动化的工具或者框架&#xff0c;用的自动化的工具也不多&#xff0c;也没有做过开发&#xff0c;所以我讲不出那些现在很多人很看重…

[C++]日期类计算器的模拟实现

目录 日期类计算器的模拟实现&#xff1a;&#xff1a; 1.获取某年某月的天数 2.构造函数 3.拷贝构造函数 4.赋值运算符重载 5.析构函数 6.日期天数 7.日期天数 8.日期-天数 9.日期-天数 10.前置的运算符重载 11.后置的运算符重载 12.前置--的运算符重载 13.后置--的运算符重载…

前后端交互系列之Axios详解(包括拦截器)

目录前言一&#xff0c;服务器的搭建二&#xff0c;Axios的基本使用2.1 Axios的介绍及页面配置2.2 如何安装2.3 Axios的前台代码2.4 Axios的基本使用2.5 axios请求响应结果的结构2.6 带参数的axios请求2.7 axios修改默认配置三&#xff0c;axios拦截器3.1 什么是拦截器3.2 拦截…

Go分布式爬虫笔记(二十)

文章目录20 调度引擎调度引擎目标通道函数选项模式函数式选项模式的好处通道底层原理无缓冲区的通道带缓冲区的通道Select 机制的底层原理思考题在我们的课程中&#xff0c;schedule 函数其实有一个 bug&#xff0c;您能看出来吗&#xff1f;你觉得可以用什么方式找出这样的 Bu…

OTA A/B 分区升级 update_engine简介

近期猛然发现公司的项目都已经换成了AB升级&#xff0c;AB升级之前一直有所了解&#xff0c;只是一直都没有去仔细查看过其具体升级流程&#xff0c;这两天抽空捋了捋&#xff0c;简单整理下。 AB升级&#xff08;谷歌官网叫法无缝更新&#xff09;是自android7.0开始新增的一…

头歌(Linux之进程管理一):第2关:进程创建操作-fork

任务描述 在上一关我们学习如何获取进程的pid信息&#xff0c;本关我们将介绍如何编程创建一个新的进程。 本关任务&#xff1a;学会使用C语言在Linux系统中使用fork系统调用创建一个新的进程。 相关知识 在Linux系统中创建进程有很多函数可以使用&#xff0c;其中包括了系…

初识Elasticsearch

文章目录介绍一、什么是elasticsearch&#xff1f;二、基本概念三、安装elasticsearch与kibana四、安装kibana&#xff08;跟ES要在同一个网络中&#xff09;五、IK分词器总结介绍 好处&#xff1a;可以帮助从海量数据中查找需要的内容&#xff1b; 一、什么是elasticsearch&…

ETL工具-pentaho企业实战部署

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…

C++二叉搜索树与KV模型

二叉搜索树与KV模型二叉搜索树概念与操作性能分析实现KV模型二叉搜索树 本章是为了C的map和set做铺垫 概念与操作 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树: 若它的左子树不为空&#xff0c;则左子树上所有节点的值都小…

面试题之vue的响应式

文章目录前言一、响应式是什么&#xff1f;二、Object.defineProperty二、简单模拟vue三、深度监听四、监听数组总结前言 为了应对面试而进行的学习记录&#xff0c;可能不够有深度甚至有错误&#xff0c;还请各位谅解&#xff0c;并不吝赐教&#xff0c;共同进步。 一、响应式…

如何做好 IT 项目管理?做好项目管理常用的9大项目管理平台、7大管理方法

一个好的管理&#xff0c;是70%在流程、规范、工具&#xff0c;剩下的30%自由发挥。一个不好的管理&#xff0c;只有地板&#xff0c;每个人都要自己想办法&#xff0c;够到天花板。一个好的工具&#xff0c;就是帮助团队够到天花板的台阶。——刘润 项目管理是一门复杂的艺术&…