数据库原理上机实验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;
相关推荐
龙仔72524 分钟前
人大金仓 KingbaseES V8 只读账号创建完整运维笔记
运维·笔记·sql·人大金仓
神龙天舞200143 分钟前
MySQL 备库为什么会延迟好几个小时
android·数据库·mysql
ThsPool1 小时前
【遥感学习整理 02】ENVI遥感图像处理基础:从数据读取到遥感信息产品
图像处理·人工智能·学习
丙氨酸長鏈2 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
独行侠影a3 小时前
APScheduler+Redis 分布式定时任务:解决多实例任务重复执行
数据库·redis·分布式
0566463 小时前
Python康复训练——常用标准库
开发语言·python·学习
传说故事3 小时前
数据库中一些常用英文单词含义
数据库·oracle
0566463 小时前
Python康复训练——控制流与函数
开发语言·python·学习
夏贰四3 小时前
中小企业搭建业务中台如何控成本?业务中台轻量化落地分几步实施?
数据库·业务中台
林焱RPA4 小时前
影刀RPA200篇纪念版:最实用的20个自动化场景大盘点
数据库