数据库原理上机实验4(数据更新实验){insert;update;delete;is null的使用}

本次实验用到的一些基本关键字

1、insert into 插入数据

INSERT INTO 语句可以有两种编写形式。

第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:

复制代码
INSERT INTO table_name
VALUES (value1,value2,value3,...);

第二种形式需要指定列名及被插入的值:

复制代码
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

参数说明:

  • table_name:需要插入新记录的表名。

  • column1, column2, ...:需要插入的字段名。

  • value1, value2, ...:需要插入的字段值。

2、update 更新数据

UPDATE 语句用于更新表中已存在的记录。

SQL UPDATE 语法

UPDATE table_name

SET column1 = value1, column2 = value2, ...

WHERE condition;

参数说明:

  • table_name:要修改的表名称。

  • column1, column2, ...:要修改的字段名称,可以为多个字段。

  • value1, value2, ...:要修改的值,可以为多个值。

  • condition:修改条件,用于指定哪些数据要修改。

3、delete 删除数据

DELETE 语句用于删除表中的记录。

SQL DELETE 语法

DELETE FROM table_name

WHERE condition;

参数说明:

  • table_name:要删除的表名称。

  • condition:删除条件,用于指定哪些数据要删除。

请注意 SQL DELETE 语句中的 WHERE 子句! WHERE 子句规定哪条记录或者哪些记录需要删除。如果省略了 WHERE 子句,所有的记录都将被删除!

4、is null 判断为空;is not null 判断不为空

5、源码

sql 复制代码
#(1) INSERT 基本语句(插入全部列的数据)
#将一个新学生元组插入到student表中
insert into student values('201215128','陈冬','男',18,'IS');

#(2) INSERT 基本语句(插入部分列的数据)
#在course表中插入一条选课记录("201212122","2")
insert into course(sno,cno) values('201215122',2);

#(3) INSERT基本语句批量插入数据(插入子查询结果)
#对每一个系,求学生的平均年龄,并把结果存入数据库
CREATE table dept_age
(sdept char(15), #系名
acg_age int #平均年龄
);

INSERT into dept_age
SELECT sdept,avg(sage)
from student
group by sdept;

#(4) UPDATE语句(修改部分记录的部分列值)
#将学生201215121的年龄改为22岁
update student
set sage=22
where sno='201215121';
#将所有学生的年龄都增加1岁
update student
set sage=sage+1;

#(5) UPDATE语句(利用一个表中的数据修改另一个表中的数据)
#将计算机科学系全体学生的成绩置60分
update course
set grade=0
where sno IN
(select sno
from student
where sdept='CS'
);

#(6)DELETE基本语句(删除满足条件的记录)
#删除学号为201215128的学生记录
delete 
from student
WHERE sno='201215128';
#删除所有姓张的同学的选课记录
delete 
from course
where sno in
(SELECT sno
from student
where sname like '张%'
);

#(7) DELETE基本语句(带子查询的删除语句)
#删除计算机系所有学生的选课记录
delete 
from course
where sno in
(SELECT sno
from student
where sdept='CS'
);

#(8) 空值处理(空值的产生)
#向course表插入一个元组,学号是"201215123",课程号是"2",成绩为空
insert into course values('201215123',2,NULL);

#(9) 空值处理(空值的判断) is null,is not null
#从course表中找出漏填数据的学生信息
select *
from course
where sno is NULL or cno is NULL or grade is NULL;
相关推荐
Hardworking6661 小时前
第7章 软硬件系统集成
数据库·软硬件系统集成
名字还没想好☜1 小时前
Go 的 time.Ticker 陷阱:定时任务里被忽略的内存泄漏与正确关闭
java·数据库·golang·go·定时器
zhangrelay1 小时前
笔记本轻量高品质延寿工具完整分系统清单
运维·笔记·学习
熊猫钓鱼>_>1 小时前
Redis 突发缓存穿透:一次完整的定位复盘
数据库·人工智能·redis·缓存·ai·agent·智能
巴巴媛6662 小时前
STM32学习笔记【38.DHT11实验】
笔记·stm32·学习
wenb1n2 小时前
MySQL诊断系列(3/6):索引分析——5个SQL揪出“僵尸索引”
数据库·人工智能·编程语言
这个DBA有点耶2 小时前
索引碎片与统计信息维护:执行计划突然变差的隐形杀手
mysql·程序员·架构
caimouse2 小时前
MM 学习笔记 01:miarm.h 核心头文件分析
笔记·学习·reactos
段一凡-华北理工大学3 小时前
向量数据库实战:选型、调优与落地~系列文章03:向量相似度算法全解:余弦、欧氏、内积,到底该用哪个?
大数据·数据库·人工智能·算法·机器学习·向量相似度·高炉炼铁
毛丫讲绘本3 小时前
独立老师开始做绘本课,怎样做少走弯路?
人工智能·学习·微信·微信公众平台·微信开放平台