SQL(Database Modifications)
目录
Insertion
Specifying Attributes in INSERT
Adding Default Values(缺省值)
Inserting Many Tuples
Creating a Table Using the SELECT INTO Statement
Deletion
Example: Deletion
Semantics of Deletion
Updates
Example: Update Several Tuples
A modification command does not return a result (as a query does), but changes the database in some way.
Three kinds of modifications:
-
Insert a tuple or tuples.
-
Delete a tuple or tuples.
-
Update the value(s) of an existing tuple or tuples.
Insertion
To insert a single tuple:
INSERT INTO <relation>
VALUES ( <list of values> );
Example: add to Likes(drinker, beer) the fact that Sally likes Bud.
INSERT INTO Likes
VALUES(’Sally’ , ’Bud’);
Specifying Attributes in INSERT
-
We may add to the relation name a list of attributes.
-
Two reasons to do so:
We forget the standard order of attributes for the relation.
We don’t have values for all attributes, and we want the system to fill in missing components with NULL or a default value.
-
Example:
-- Another way to add the fact that Sally
-- likes Bud to Likes(drinker, beer):
INSERT INTO Likes(beer, drinker)
VALUES(’Bud’,‘Sally’);
Adding Default Values(缺省值)
-
In a CREATE TABLE statement, we can follow an attribute by DEFAULT and a value.
-
When an inserted tuple has no value for that attribute, the default will be used.
Example:
CREATE TABLE Drinkers (name CHAR(30) PRIMARY KEY,addr CHAR(50) DEFAULT ’123 Sesame St.’,phone CHAR(16)
);
Inserting Many Tuples
We may insert the entire result of a query into a relation, using the form:
INSERT INTO <relation>
( <subquery> );
INSERT INTO PotBuddies(SELECT d2.drinkerFROM Frequents d1, Frequents d2WHERE d1.drinker = ’Sally’ ANDd2.drinker <> ’Sally’ ANDd1.bar = d2.bar
);
Creating a Table Using the SELECT INTO Statement
-
Use to Create a Table and Insert Rows into the Table in a Single Operation(在一次操作中完成创建表和插入数据的操作)
-
Create a Local or Global Temporary Table(创建本地或全局临时表)
-
Set the select into/bulkcopy Database Option ON in Order to Create a Permanent Table
-
Create Column Alias or Specify Column Names in the Select List for New Table
Deletion
To delete tuples satisfying a condition from some relation:
DELETE FROM <relation>
WHERE <condition>;
Example: Deletion
DELETE FROM Likes
WHERE drinker = ’Sally’ AND
beer = ’Bud’;
-- Delete all Tuples
DELETE FROM Likes;
Semantics of Deletion
DELETE FROM Beers b
WHERE EXISTS (SELECT name FROM BeersWHERE manf = b.manf ANDname <> b.name);
-
Suppose Anheuser-Busch makes only Bud and Bud Lite.
-
Suppose we come to the tuple b for Bud first.
-
The subquery is nonempty, because of the Bud Lite tuple, so we delete Bud.
Now, when b is the tuple for Bud Lite, do we delete that tuple too?
Answer: we do delete Bud Lite as well.
The reason is that deletion proceeds in two stages:
-
Mark all tuples for which the WHERE condition is satisfied.
-
Delete the marked tuples.
- 我们可以将涉及子查询的语句拆成两个部分:标记满足条件的部分,然后是执行删除部分
- 在标记时,进行所有原始数据的扫描,然后标记满足条件的数据
- 然后在删除阶段将所有被标记的数据全部删除
Updates
To change certain attributes in certain tuples of a relation:
UPDATE <relation>
SET <list of attribute assignments>
WHERE <condition on tuples>;
UPDATE Drinkers
SET phone = ‘555-1212’
WHERE name = ‘Fred’;
Example: Update Several Tuples
UPDATE Sells
SET price = 4.00
WHERE price > 4.00;
相关文章:

SQL(Database Modifications)
目录 Insertion Specifying Attributes in INSERT Adding Default Values(缺省值) Inserting Many Tuples Creating a Table Using the SELECT INTO Statement Deletion Example: Deletion Semantics of Deletion Updates Example: Update Sev…...

【android bluetooth 案例分析 04】【Carplay 详解 2】【Carplay 连接之手机主动连车机】
1. 背景 在【android bluetooth 案例分析 04】【Carplay 详解 1】【CarPlay 在车机侧的蓝牙通信原理与角色划分详解】中我们从整理上介绍了车机中 carplay 相关基础概念。 本节 将详细分析 iphone手机主动 连接 车机carplay 这一过程。 先回顾一下 上一节, carpla…...
maven离线将jar包导入到本地仓库中
想将本地的 jnetpcap.jar 包安装到 Maven 的本地仓库中,以便在项目中通过如下依赖方式引用。 <dependency><groupId>org.jnetpcap</groupId><artifactId>jnetpcap...

【仿muduo库实现并发服务器】实现时间轮定时器
实现时间轮定时器 1.时间轮定时器原理2.项目中实现目的3.实现功能3.1构造定时任务类3.2构造时间轮定时器每秒钟往后移动添加定时任务刷新定时任务取消定时任务 4.完整代码 1.时间轮定时器原理 时间轮定时器的原理类似于时钟,比如现在12点,定一个3点的闹…...
Conda更换镜像源教程:加速Python包下载
Conda更换镜像源教程:加速Python包下载 为什么要更换conda镜像源? Conda作为Python的包管理和环境管理工具,默认使用的是国外镜像源,在国内下载速度往往较慢。通过更换为国内镜像源,可以显著提高包下载速度ÿ…...
蓝桥杯 盗墓分赃2
原题目链接 问题描述 在一个探险者的团队中,小明和小红是合作的盗墓贼。 他们成功盗取了一座古墓中的宝藏,包括 n 件不同重量的珍贵文物和黄金,第 i 件宝藏的重量为 ai。 现在,他们希望公平地分配这些宝藏,使得小明…...
深度解读 Qwen3 大语言模型的关键技术
一、模型架构设计 Qwen3 延续了当前主流大型语言模型的 Transformer 架构,并在此基础上进行了多项增强设计,包含特殊的 Transformer 变体、位置编码机制改进、混合专家 (MoE) 技术引入,以及支持多模态和双重思考模式的新特性。 1. Transformer 基础架构与增强 基础架构:…...
使用 mysqldump 获取 MySQL 表的完整创建 DDL
要获取 MySQL 中某个表的完整创建 DDL(仅结构,不含数据),可以使用 mysqldump 工具的以下命令: 基本命令格式 bash mysqldump -h [主机名] -u [用户名] -p --no-data --single-transaction --routines --triggers --…...

day15 leetcode-hot100-28(链表7)
2. 两数相加 - 力扣(LeetCode) 1.模拟 思路 最核心的一点就是将两个链表模拟为等长,不足的假设为0; (1)设置一个新链表newl来代表相加结果。 (2)链表1与链表2相加,具…...
阿里云云效对接SDK获取流水线制品
参考文档: API旧版 企业令牌 https://help.aliyun.com/zh/yunxiao/developer-reference/api-reference API新版 个人令牌 https://help.aliyun.com/zh/yunxiao/developer-reference/api-reference-standard-proprietary API 个人令牌 https://www.alibabacloud.com…...
Qt 相关 编译流程及交叉编译 部署所遇到的问题总结-持续更新
准备环境和工具 1、主机环境 ubuntu20 2、交叉编译器 gcc-linaro-6.3.1…arm-linux-gnuebihf 3、QT5源码包qt-5.11.3_sources 下载qt-5.11.3的包,自己想办法下载 网盘啥的 都ok,再访问下载目录就可以显示了。 Index of /archive/qt 4、依赖库安装 sudo …...
前端面经 DNSxieyi1
域名解析协议 域名转为目标IP地址 两种方式 1 递归查询 A请求B B一定会告诉IP 2迭代查询 A请求B 如果B无能 ,B会告诉A如何获得改内容,但是B自己不会发出请求1 步骤 1.检查浏览器DNS 2.没有命中继续查询操作系统的DNS缓存 3.查询本地域名服务器&…...
如何通过ES实现SQL风格的查询?
一、Spring项目集成方案 添加依赖(pom.xml): <dependency><groupId>co.elastic.clients</groupId><artifactId>elasticsearch-java</artifactId><version>8.12.0</version> </dependency> <dependency><…...

知识图谱:重构认知的智能革命
在数字经济的浪潮中,知识图谱正悄然掀起一场认知革命。它不仅是技术的迭代,更是人类从“数据依赖”迈向“知识驱动”的里程碑。当谷歌用知识图谱优化搜索引擎、银行用它穿透复杂的金融欺诈网络、医院用它辅助癌症诊疗时,这项技术已悄然渗透到…...
【计算机网络】4网络层①
这篇笔记讲IPv4和IPv6。 为了解决“IP地址耗尽”问题,有三种措施: ①CIDR(延长IPv4使用寿命) ②NAT(延长IPv4使用寿命) ③IPv6(从根本上解决IP地址耗尽问题) IPv6 在考研中考查频率较低,但需掌握基础概念以防冷门考点,重点结合数据报格式和与 IPv4 的对比记忆。…...

MATLAB中的table数据类型:高效数据管理的利器
MATLAB中的table数据类型:高效数据管理的利器 什么是table数据类型? MATLAB中的table是一种用于存储列向数据的数据类型,它将不同类型的数据组织在一个表格结构中,类似于电子表格或数据库表。自R2013b版本引入以来,t…...

Dropout 在大语言模型中的应用:以 GPT 和 BERT 为例
引言 大型语言模型(LLMs)如 GPT(生成式预训练 Transformer)和 BERT(双向编码器表示 Transformer)通过其强大的语言理解和生成能力,彻底改变了自然语言处理(NLP)领域。然…...
CentOS 7 如何安装libsndfile?
CentOS 7 如何安装libsndfile? # 配置编译环境 yum install -y gcc gcc-c make# 下载libsndfile压缩软件包 wget http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.25.tar.gztar -xf libsndfile-1.0.25.tar.gz cd libsndfile-1.0.25./configure --prefix/home/libs…...
基于深度学习的语音识别系统设计与实现
以下是为您准备的《基于深度学习的语音识别系统》技术文档,内容包含完整实现方案和详细代码解析: 基于深度学习的语音识别系统设计与实现 目录 语音识别技术概述系统架构设计语音信号预处理深度神经网络模型构建端到端语音识别实现模型训练与优化策略部署与性能优化完整代码…...

gitLab 切换中文模式
点击【头像】--选择settings 选择【language】,选择中文,点击【保存】即可。...

133.在 Vue3 中使用 OpenLayers 实现画多边形、任意编辑、遮罩与剪切处理功能
🎬 效果演示截图(先睹为快) ✨ 功能概览: ✅ 鼠标画任意形状多边形; ✏️ 点击“修改边界”可拖动顶点; 🟥 点击“遮罩”后地图除多边形区域外变红; ✂️ 点击“剪切”后仅显示选…...

4.8.4 利用Spark SQL实现分组排行榜
在本次实战中,我们的目标是利用Spark SQL实现分组排行榜,特别是计算每个学生分数最高的前3个成绩。任务的原始数据由一组学生成绩组成,每个学生可能有多个成绩记录。我们首先将这些数据读入Spark DataFrame,然后按学生姓名分组&am…...
40. 自动化异步测试开发之编写异步业务函数、测试函数和测试类(类写法)
40. 自动化异步测试开发之编写异步业务函数、测试函数和测试类(类写法) 一、类结构设计解析 1.1 基类设计 class Base:async_driver None # 🚗 存储浏览器驱动实例async def get(self, url: str http://secure.smartbearsoftware.com/.…...

【五子棋在线对战】一.前置知识的了解
前置知识的了解 前言1.Websocketpp1.1 使用Websocketpp的原因1.2 Websocket常用接口1.3 Websocket搭建服务器流程 2.JsonCpp2.1 Json 数据对象类的表示2.2序列化和反序列化的接口2.3 演示代码 3.Mysql
历年中国科学技术大学计算机保研上机真题
2025中国科学技术大学计算机保研上机真题 2024中国科学技术大学计算机保研上机真题 2023中国科学技术大学计算机保研上机真题 在线测评链接:https://pgcode.cn/school?classification1 拆分数字 题目描述 给定一个数字,拆分成若干个数字之和ÿ…...
内联盒模型基本概念?——前端面试中的隐形考点剖析
导语 在前端开发中,盒模型是基础知识,但“内联盒模型”往往容易被忽视。它不是“能不能写出页面”的问题,而是“写出的页面为何错位、如何精准定位”的问题。很多面试官会借这个考点,判断候选人对浏览器渲染机制的理解是否深入。…...

HackMyVM-Art
信息搜集 主机发现 ┌──(kali㉿kali)-[~] └─$ nmap -sn 192.168.43.0/24 Starting Nmap 7.95 ( https://nmap.org ) at 2025-05-31 03:00 EDT Nmap scan report for 192.168.43.1 Host is up (0.0047s latency). MAC Address: C6:45:66:05:91:88 (Unknown) Nmap scan rep…...

网页前端开发(基础进阶1)
颜色表示方法3种: 1.关键字: color:green; gray red yellow 2.rgb表示法:红,绿,蓝三原色。rgb(r,g,b),r表示红色,g表示绿…...
const ‘不可变’到底是值不变还是地址不变
const的基础规则 声明时必须初始化 const a; // ❌ 报错:Missing initializer in const declaration const b 10; // ✅ 正确块级作用域(const 的作用域仅限于声明它的代码块) if (true) {const x 100; } console.log(x); // ❌ 报错…...

如何找到一条适合自己企业的发展之路?
一个创业型的企业,开始就需要面向市场,通过自己的服务或产品,帮助用户解决问题,为客户创造价值,通过为客户创造的价值,出创造一定的的现金流,让企业存活下来! 企业的运营过程中&…...