数据库SQL语言学习--上机练习3(插入 更新 删除)
上机练习3
、 将一个新学生记录(学号:;姓名:陈冬;性别:男;所在系:信息系;年龄:20岁)插入到Student表中;
ALTER TABLE Student
ADD Sage DECIMAL(,); UPDATE Student
SET Sage=YEAR(getdate())-DATENAME(yyyy,Sbirth); INSERT INTO Student(Sno,Sname,Sgender, Sdept,Sage)
VALUES('','陈冬','男','信息系','') ; 、 重复执行上述1操作,观察执行结果并分析原因;
消息2627,级别14,状态1,第4 行
违反了PRIMARY KEY 约束'PK_Student'。不能在对象'dbo.Student' 中插入重复键。
语句已终止。
无法执行,因为Sno是主码,主码必须是唯一的,而之前的操作已经插入了主码为0100的学生的信息。 、 新增一条选课记录(学号:;课程号:);
INSERT INTO Score(Sno,Cno)
VALUES('',''); 、 统计每个系学生的平均年龄,并把结果存入数据库;
建新表
CREATE TABLE Dept_age(Sdept CHAR(), Avg_age SMALLINT);
存入数据
INSERT INTO Dept_age(Sdept,Avg_age)
SELECT Sdept,AVG(Sage)
FROM Student
GROUP BY Sdept; 、 将信息系所有学生的年龄减小1岁;
UPDATE Student
SET Sage=Sage-
WHERE Sdept='信息系'; UPDATE Student
SET Sage=Sage-
WHERE Sno IN
(SELECT Sno
FROM Student
WHERE Sdept='信息系'
); 、 将选修了课程号为2的学生的成绩减去2分;
UPDATE Score
SET Cscore=Cscore-
WHERE Cno=''; 、 将信息系全体学生的成绩清零;
UPDATE Score
SET Cscore=
WHERE Sno IN
(SELECT Sno
FROM Student
WHERE Sdept='信息系'); 、 删除学号为0100的学生记录;
DELETE
FROM Student
WHERE Sno=''; 、 删除2号课程的所有选课记录;
DELETE
FROM Score
WHERE Cno=''; 、 删除所有的学生选课记录;
DELETE
FROM Score; 、 删除信息系所有学生的选课记录。
DELETE F
ROM Score
WHERE Sno IN
(SELECT Sno
FROM Student
WHERE Sdept='信息系');
数据库SQL语言学习--上机练习3(插入 更新 删除)的更多相关文章
- 数据库SQL语言学习--上机练习4(视图)
上机练习4 一.实验目的 . 熟悉和掌握对数据表中视图的查询操作和 SQL 命令的使用: . 熟悉和掌握对数据表中视图的更新操作和 SQL 命令的使用,并注意视图更新与基本表更新的区别与联系: . 学 ...
- 数据库SQL语言学习--上机练习2(连接查询 嵌套查询)
上机练习2 1. 启动SQL Server 2008中的 SQL Server Management Studio. 2. 针对下面三张基本表进行操 ...
- 数据库SQL语言学习--上级练习1(数据查询)
上机练习1 1. 启动SQL Server 2008中的 SQL Server Management Studio. 2. 创建数据库Student ...
- 数据库SQL语言学习----左外连接,右外连接,外连接,自然连接的形象对比
现在有两张表,一张Student 另一张Score 1.查询每个学生及其选修课程的情况: 自然连接,Sno在Cscore中找不到就不显示,Cno在Cscore中找不到也不显示 SELECT Stu ...
- 我的MYSQL学习心得(八) 插入 更新 删除
我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得( ...
- SQL Server大量数据秒级插入/新增/删除
原文:SQL Server大量数据秒级插入/新增/删除 1.快速保存,该方法有四个参数,第一个参数为数据库连接,第二个参数为需要保存的DataTable,该参数的TableName属性需要设置为数据库 ...
- C语言习题 链表建立,插入,删除,输出
Problem B: C语言习题 链表建立,插入,删除,输出 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 222 Solved: 92 [Subm ...
- YTU 2430: C语言习题 链表建立,插入,删除,输出
2430: C语言习题 链表建立,插入,删除,输出 时间限制: 1 Sec 内存限制: 128 MB 提交: 576 解决: 280 题目描述 编写一个函数creatlink,用来建立一个动态链表 ...
- oracle插入,更新,删除数据
插入,更新,删除数据 oracle提供了功能丰富的数据库管理语句 包括有效的向数据库中插入数据的insert语句 更新数据的update语句 以及当数据不再使用时删除数据的delete语句 更改数据之 ...
随机推荐
- strchr与sscanf
strchr(s,',')返回字符串s中从左往右第一个字符's'的指针: sscanf(输入的字符或字符串,“%格式符”,存储值):
- javascript 日常
$('#code').bind('keypress', function (e) { //绑定回车处理 ) { console.log($("#code")); } }); $.a ...
- 浅谈log4j-3-不同输出样式
public static void main(String[] args) { Logger logger=Logger.getLogger(Appendable.class); //设置输出等级 ...
- 聊聊 CAS
哥有故事,你有酒,长夜漫漫,听我给你说. 参考资源: https://blog.csdn.net/hsuxu/article/details/9467651 1.概述 CAS,compare and ...
- 【SpringCloud】初识springCloud
转载来源:https://maimai.cn/article/detail?fid=1149221357&efid=lL_Z3WzTyUDLAjQwrNrIsw 概述 毫无疑问,Spring ...
- Gravitee.io Access Management docker-compose运行
Gravitee.io 官方提供的docker-compose 快速运行的方式 默认ui 账户 admin adminadmin 环境准备 docker-compose 文件 # # Copyrigh ...
- centos配置apache的https服务
因为公司要开发微信小程序,由于小程序比较特殊,需要https服务,所以就研究了下apache的https服务了,大致过程如下: 1.向证书机构申请https证书,会得到证书和私钥 2.安装apache ...
- Pycharm主题设置以及导入方式
主题下载链接: http://www.themesmap.com/ pycharm -- 导入主题(theme) and 修改背景颜色(护眼色) 前情提要 众所周知,随着python语言的不断流行 ...
- [转]MyBatis中resultType与resultMap区别
MyBatis中关于resultType和resultMap的具体区别如下: MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap.resu ...
- docker 的前台模式和后台模式
Detached(后台模式) vs foreground(前台模式) 当我们启动一个容器时,首先需要确定这个容器是运行在前台还是运行在后台. -d, --detach Run container in ...