数据库原理上机实验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;
相关推荐
Lyqfor3 分钟前
Redis学习:BitMap/HyperLogLog/GEO案例 、布隆过滤器BloomFilter、缓存预热+缓存雪崩+缓存击穿+缓存穿透
java·数据库·redis·学习·算法·缓存·1024程序员节
厌世小晨宇yu.17 分钟前
RocketMQ学习笔记
笔记·学习·rocketmq
floret*34 分钟前
在 hiveSQL 中判断一个字段是否包含某个值
前端·javascript·数据库
布丁不叮早起枣祈1 小时前
11.05学习
学习
冰红茶兑滴水1 小时前
MySQL 数据库之库操作
数据库·mysql
从未完美过2 小时前
ClickHouse集成Mysql表引擎跨服务器读表说明
服务器·mysql·clickhouse
与君共勉121382 小时前
Zabbix proxy 主动模式的实现
运维·学习·zabbix
Fireworkitte2 小时前
MongoDB
数据库·mongodb
来一杯龙舌兰2 小时前
【MongoDB】MongoDB的聚合(Aggregate、Map Reduce)与管道(Pipline) 及索引详解(附详细案例)
数据库·mongodb·mapreduce·索引·aggregate·pipline
爱吃烤鸡翅的酸菜鱼4 小时前
MySQL初学之旅(1)配置与基础操作
java·数据库·mysql·database