数据库系统概论|第三章:关系数据库标准语言SQL—课程笔记6

前言

经过前面几篇文章的介绍,已经完成了对于数据查询操作的介绍,接下来,本篇文章将介绍数据更新 这一板块,包括插入数据、修改数据以及删除数据三种操作方法。

注:本文中所涉及的数据库前文中已经介绍(指路:数据库系统概论|第三章:关系数据库标准语言SQL---课程笔记1

一、插入数据

数据插入的语法较为简单,主要运用INSERT 语句,INTO 提示数据将插入的表,VALUES后面接具体要插入的值。

R 复制代码
INSERT
INTO Student (Sno, Sname, Ssex, Sdept, Sage)
VALUES ('201215128', '陈冬', '男', 'IS', 18)

上述代码的含义为++将一个新学生元组(学号:201215128; 姓名:陈冬;性别:男; 所在系:IS; 年龄:18岁)插入到Student表中。++

二、修改数据

在数据修改过程中,核心语句为UPDATE语句,在数据修改过程中,可以仅仅修改一个元组的值,也可以同时修改多个元组的值。

R 复制代码
UPDATE Student 
SET Sage=22
WHERE Sno='201215121' 

上述代码的含义为++更改学生表中,学号为201215121的学生年龄改为22。++

R 复制代码
UPDATE Student 
SET Sage= Sage+1

上述代码的含义为++将学生表中所有学生的年龄均加1。【此处没有WHERE子句,即是更新所有元组】++

R 复制代码
SELECT * 
FROM (SELECT '李勇' AS Sname, 'MA' AS Sdept
	UNION SELECT '刘晨', 'IS') AS T


SELECT *
FROM Student ,(SELECT '李勇' AS Sname, 'MA' AS Sdept
	UNION SELECT '刘晨', 'IS') AS T
WHERE Student.Sname = T.Sname


UPDATE Student 
SET Sdept = T.Sdept
FROM (SELECT '李勇' AS Sname, 'MA' AS Sdept
	UNION SELECT '刘晨', 'IS') AS T
WHERE Student.Sname = T.Sname

上面三段代码层层递进,展示了包含子查询的数据更新语句:

第一段利用集合的并构建了一个临时表T

第二段利用姓名相同,连接了临时表T以及原有表Student

第三段真正展示了数据更新,成功将李勇与刘晨的专业进行更新与修改

三、删除数据

在数据删除的过程中,核心语句为DELETE,同时要指明所删除数据表为哪一个

R 复制代码
DELETE
FROM Student
WHERE Sno= '201215128'

上述代码较为简单,代表++删除学生表中,学号为'201215128'的学生的全部数据。++

R 复制代码
SELECT * 
FROM Student 
WHERE NOT EXISTS(SELECT * FROM SC WHERE Student.Sno = SC.Sno)

DELETE 
FROM Student 
WHERE NOT EXISTS(SELECT * FROM SC WHERE Student.Sno = SC.Sno)

上述两端代码展示了带有子查询的数据删除语句:

第一段利用NOT EXISTS子句选出了那些并没有选课的学生(也就是在SC表中没有的学生)

第二段则是利用这一子查询,删除了Student表中,那些没有选课的学生的记录

相关推荐
victory04314 分钟前
大模型学习阶段总结和下一阶段展望
深度学习·学习·大模型
程序猿零零漆9 分钟前
Spring之旅 - 记录学习 Spring 框架的过程和经验(十三)SpringMVC快速入门、请求处理
java·学习·spring
大厂技术总监下海12 分钟前
用户行为分析怎么做?ClickHouse + 嵌套数据结构,轻松处理复杂事件
大数据·数据结构·数据库
曾浩轩17 分钟前
跟着江协科技学STM32之4-5OLED模块教程OLED显示原理
科技·stm32·单片机·嵌入式硬件·学习
alonewolf_9922 分钟前
深入理解MySQL事务与锁机制:从原理到实践
android·数据库·mysql
CCPC不拿奖不改名30 分钟前
网络与API:从HTTP协议视角理解网络分层原理+面试习题
开发语言·网络·python·网络协议·学习·http·面试
却道天凉_好个秋32 分钟前
音视频学习(八十四):视频压缩:MPEG 1、MPEG 2和MPEG 4
学习·音视频
●VON34 分钟前
AI 保险机制:为智能时代的不确定性兜底
人工智能·学习·安全·制造·von
朝依飞39 分钟前
fastapi+SQLModel + SQLAlchemy2.x+mysql
数据库·mysql·fastapi
代码游侠39 分钟前
学习笔记——HC-SR04 超声波测距传感器
开发语言·笔记·嵌入式硬件·学习