数据库实验:SQL的数据更新

目录

再次书接上文,sql基础的增删改查

实验目的

(1) 掌握DBMS的数据查询功能

(2) 掌握SQL语言的数据更新功能

实验内容

(1) update 语句用于对表进行更新

(2) delete 语句用于对表进行删除

(3) insert 语句用于对表进行插入

实验要求

(1) 熟练掌握SQL的数据更新语句INSERT、UPDATE、DELETE

(2) 写出实验报告

实验步骤

认真阅读S_T.sql,理解其中插入和修改语句的作用和用法;执行S_T.sql,建立示例数据库S_T

对学生关系Student、课程关系Course和选修关系SC进行数据插入、修改和删除元组(记录)的更新操作

S_T.sql即下述代码
在前文中也出现过

sql 复制代码
create database S_T;
go
use S_T;  /*将S_T设为当前数据库*/
create table Student
     (Sno CHAR(9) PRIMARY KEY,
      Sname CHAR(20) UNIQUE,
      Ssex CHAR(2),
      Sage SMALLINT,
      Sdept CHAR(20)
      );
go
/*表Student的主码为Sno,属性列Sname取唯一值*/
create table Course
      (Cno CHAR(4) PRIMARY KEY,
       Cname CHAR(40),
       Cpno CHAR(4),
       Ccredit SMALLINT,
       FOREIGN KEY (Cpno) REFERENCES Course(Cno)
       );
go
/*表Course的主码为Cno,属性列Cpno(先修课)为外码,被参照表为Course,被参照列是Cno*/
create table SC
      (Sno CHAR(9),
       Cno CHAR(4),
       Grade SMALLINT,
       primary key (Sno, Cno),
       FOREIGN KEY (Sno) REFERENCES Student(Sno),
       FOREIGN KEY (Cno) REFERENCES Course(Cno)
       );
go
 /*表SC的主码为(Sno, Cno), Sno和Cno均为外码,被参照表分别为Student和Course,被参照列分别为Student.Sno和Course.Cno*/
insert into student values('200215121','李勇','男',20,'CS');
insert into student values('200215122','刘晨','女',19,'CS');
insert into student values('200215123','王敏','女',18,'MA');
insert into student values('200215125','张立','男',19,'IS');
go
/*为表Student添加数据*/
insert into course values('1', '数据库', NULL,4);
insert into course values('2', '数学',  NULL,2);
insert into course values('3', '信息系统', NULL,4);
insert into course values('4', '操作系统', NULL,3);
insert into course values('5', '数据结构', NULL,4);
insert into course values('6', '数据处理', NULL, 2);
insert into course values('7', 'PASCAL语言',  NULL,4);
go
update Course set Cpno = '5' where Cno = '1';
update Course set Cpno = '1' where Cno = '3';
update Course set Cpno = '6' where Cno = '4';
update Course set Cpno = '7' where Cno = '5';
update Course set Cpno = '6' where Cno = '7';
/*为表Course添加数据*/
go
insert into SC values('200215121', '1',92);
insert into SC values('200215121', '2',85);
insert into SC values('200215121', '3',88);
insert into SC values('200215122', '2',90);
insert into SC values('200215122', '3',80);
/*为表SC添加数据*/
go

实验过程

因为某些原因,导致这期只有图片,不过好处是更直观的看到代码的效果
















删除表中数据后,该表的定义未被删除













总结

这就是关于sql的简单的增删改查也就是数据更新的内容了

相关推荐
Cloud云卷云舒5 小时前
云卷云舒:从Oracle/MySQL迁移到HaishanDB:迁移评估工具核心技术拆解
mysql·oracle·ai-native·haishandb·信创数据库替换
憧憬成为web高手5 小时前
皮卡丘靶场速通--sql 2
数据库·sql·mybatis
段一凡-华北理工大学5 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
oradh7 小时前
Oracle XTTS实现跨版本迁移和升级(Oracle 11g单库升级至19C RAC集群)
数据库·oracle·11g升级19c·xtts跨版本迁移和升级
用户71333585156248 小时前
MySQL - 事务、redo/undo 日志与 MVCC
mysql
z123456789868 小时前
2026最新两款AI编程工具深度对比实测
java·数据库·ai编程
程序猿DD8 小时前
一个 API Key,统一调用大模型、生图和联网搜索
数据库·网关
java_logo8 小时前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程
用户71333585156249 小时前
MySQL - InnoDB 的 Buffer Pool
mysql
TlSfoward9 小时前
抓包代理链路下的 TLS 指纹变化分析 TLSFOWARD抓包工具
数据库·爬虫·网络协议·搜索引擎·php