上机练习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(插入 更新 删除)的更多相关文章

  1. 数据库SQL语言学习--上机练习4(视图)

    上机练习4 一.实验目的 . 熟悉和掌握对数据表中视图的查询操作和 SQL 命令的使用: . 熟悉和掌握对数据表中视图的更新操作和 SQL 命令的使用,并注意视图更新与基本表更新的区别与联系: . 学 ...

  2. 数据库SQL语言学习--上机练习2(连接查询 嵌套查询)

    上机练习2 1.              启动SQL Server 2008中的 SQL Server Management Studio. 2.              针对下面三张基本表进行操 ...

  3. 数据库SQL语言学习--上级练习1(数据查询)

    上机练习1 1.              启动SQL Server 2008中的 SQL Server Management Studio. 2.              创建数据库Student ...

  4. 数据库SQL语言学习----左外连接,右外连接,外连接,自然连接的形象对比

    现在有两张表,一张Student 另一张Score   1.查询每个学生及其选修课程的情况: 自然连接,Sno在Cscore中找不到就不显示,Cno在Cscore中找不到也不显示 SELECT Stu ...

  5. 我的MYSQL学习心得(八) 插入 更新 删除

    我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得( ...

  6. SQL Server大量数据秒级插入/新增/删除

    原文:SQL Server大量数据秒级插入/新增/删除 1.快速保存,该方法有四个参数,第一个参数为数据库连接,第二个参数为需要保存的DataTable,该参数的TableName属性需要设置为数据库 ...

  7. C语言习题 链表建立,插入,删除,输出

    Problem B: C语言习题 链表建立,插入,删除,输出 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 222  Solved: 92 [Subm ...

  8. YTU 2430: C语言习题 链表建立,插入,删除,输出

    2430: C语言习题 链表建立,插入,删除,输出 时间限制: 1 Sec  内存限制: 128 MB 提交: 576  解决: 280 题目描述 编写一个函数creatlink,用来建立一个动态链表 ...

  9. oracle插入,更新,删除数据

    插入,更新,删除数据 oracle提供了功能丰富的数据库管理语句 包括有效的向数据库中插入数据的insert语句 更新数据的update语句 以及当数据不再使用时删除数据的delete语句 更改数据之 ...

随机推荐

  1. 斐波那契 - pythoon实现

    def fn_1(n): if n == 0 : return n elif n == 1 : return n else: a = [0,1] for i in range(2,n): a.appe ...

  2. tcp面试题

    常见面试题[问题1]为什么连接的时候是三次握手,关闭的时候却是四次握手? 答:因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文.其中ACK报文是用来应答的, ...

  3. django-models层

    ----https://www.cnblogs.com/liuqingzheng/articles/9472723.html 一.ORM简介 查询数据层次图解:如果操作mysql,ORM是在pymys ...

  4. java 编译 运行 及 引用外部 jar 包的方法

    1. 环境变量配置 JAVA_HOMEC:\Program Files\Java\jdk1.8.0_121; PATH%PATH%;C:\Java\jdk1.6.0_30\bin; CLASSPATH ...

  5. 【shell编程】之基础知识-输入/输出和重定向

    大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回​​到您的终端.一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端.同样,一个命令通常将其输出写入到标准输出,默 ...

  6. centos 7.0 lnmp成功安装过程

    下载nginx,wget 是一个下载命令-c 是断点续传(不要也这个也可以) [root@bogon ~]# wget -c http://nginx.org/download/nginx-1.7.9 ...

  7. Using pointer to access array instead of index

    See example below firstly. uint8_t parity = ; uint8_t index = ; //flag gMUXTask.responseData[index++ ...

  8. ML(4)——逻辑回归

    Logistic Regression虽然名字里带“回归”,但是它实际上是一种分类方法,“逻辑”是Logistic的音译,和真正的逻辑没有任何关系. 模型 线性模型 由于逻辑回归是一种分类方法,所以我 ...

  9. 基于SVN提交历史筛选作者并修改文件内容

    笔者最近开发的项目中,是通过SVN做为版本管理工具的,因为需要创建的文件太多,所以有许多文件是在原有文件基础上拷贝过来修改的,这里就涉及到一个问题,原有文件中注释里填的JAVA类名.作者工号.创建时间 ...

  10. URL编码规则

    一.问题的由来 问题:当url地址中包含&.+.%等特殊字符(主要是传递参数时,参数的内容中包含这些字符)时,地址无效.比如http://10.190.0.0:108/doc/test+des ...