当前位置: 首页 > news >正文

创建数据库数据插入、更新与删除

创建数据库和创建表

一、实验目的

(1)熟悉和掌握数据库的创建和连接方法;

(2)熟悉和掌握数据库表的建立、修改和删除;

(3)加深对表的实体完整性、参照完整性和用户自定义完整性的理解。

二、实验内容

(1)创建一个教学数据库,数据库的名称为MIS

(2)创建MIS数据库中的5个关系模式,要求包含完整性约束的定义。

  • 系(系编号,系名称)
  • 教工(教工号,姓名,性别,职称,工资,系编号)
  • 学生(学号,姓名,性别,出生年月,专业,家庭地址,系编号)
  • 课程(课程编号,课程名称,学时,系编号)
  • 成绩(学号,课程编号,分数)

三、实验平台

操作系统:Windows x64 

DBMS:SQL Server 2016 

四、代码清单

PS:go的命令可以不要,“go”是SQL Server2000批处理的结束标志,不是SQL语句。

/* 注释:实验一中文脚本.sql 创建数据库  */
create  database MIS
go
/*  打开数据库   */
use MIS
/*  创建5个表  */
create table 系
(系编号  smallint not null ,
系名称   char(12),
primary key (系编号))
go
create table 课程(
课程编号 char(8)  not null,
课程名称  char(16),
学时     smallint,
系编号   smallint,
primary key (课程编号),
foreign key  (系编号) references 系(系编号))
go
create table 教工(
教工号 smallint,
姓名 char(8),
性别 char(2),
职称 char(10),
工资 numeric(8,2),
系编号  smallint, 
primary key (教工号),
foreign key (系编号)references 系(系编号))
go
create table 学生(
学号 char(6),
姓名 char(8),
性别 char(2),
出生年月  datetime, 
系编号  smallint, 
primary key (学号),
foreign key (系编号) references 系(系编号))
go
create table 成绩( 
学号 char(6)  not null,   
课程编号 char(8)  not null,   
分数 numeric(4,1), 
primary key (学号 ,课程编号), foreign key (学号) references 学生(学号), foreign key (课程编号) references 课程(课程编号)) 
go

注意:当多个SQL语句执行时,可能出现的逻辑错误,即就单个语句来说,语句没有错误,但多条语句顺序执行时可能出错。例如,上述5个表创建的顺序必须是“先父后子”,而删除的顺序则是“先子后父”。

DROP TABLE  成绩DROP TABLE  学生DROP TABLE  教工DROP TABLE  课程DROP TABLE  系

数据插入、更新与删除

一、实验目的

(1)熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用。

(2)加深理解表的定义和数据更新的作用。

 二、实验内容

系编号

系名称

101

数学

102

计算机

103

外语

104

经济

课程

课程号

课程名

学时

系编号

C101

数学

68

101

C102

英语

85

103

C103

计算机

102

102

C104

经济学

51

104

教工

教工号

 

性别

职称

系编号

2101

葛小平

教授

3420.00

101

2203

李长江

副教授

3190.00

102

2405

姜立伟

副教授

3140.00

104

2104

张丽丽

讲师

2243.00

101

2302

康立华

教授

3740.00

103

2205

王伟平

讲师

2130.00

102

成绩

 

课程编号

分数

991022

C101

88

991022

C102

67

992124

C101

77

992124

C102

95

992124

C103

45

994021

C104

87

学生

 

 

性别

出生年月

系编号

族别

991022

田平平

08/05/1980

101

992124

郭黎明

03/04/1981

102

994021

何明慧

04/12/1982

104

991223

姜明明

12/05/1980

101

993012

何漓江

10/05/1979

103

992104

康纪平

03/04/1981

102

994125

康嘉家

07/05/1980

104

学生            

三、实验平台

操作系统:Windows x64 

DBMS:SQL Server 2016 

四、程序清单

(1)在5个表中插入数据

insert into 系 values(101,'数学')insert into 系 values(102,'计算机')insert into 系 values(103,'外语')insert into 系 values(104,'经济')goinsert into 课程 values('c101','数学',68,101)insert into 课程 values('c102','英语',85,103)insert into 课程 values('c103','计算机',102,102)insert into 课程 values('c104','经济学',51,104)goinsert into 教工 values('2101','葛小平','女','教授',3420.00,101)insert into 教工 values('2203','李长江','男','副教授',3190.00,102)insert into 教工 values('2405','姜立伟','男','副教授',3140.00,104)insert into 教工 values('2104','张丽丽','女','讲师',2243.00,101)insert into 教工 values('2302','康立华','女','教授',3740.00,103)insert into 教工 values('2205','王伟平','男','讲师',2130.00,102)goinsert into 学生 values('991022','田平平','女','08/05/1980',101)insert into 学生 values('992124 ','郭黎明','男','03/04/1981',102)insert into 学生 values('994021 ','何明慧','女','04/12/1982',104)insert into 学生 values('991223 ','姜明明','男','12/05/1980',101)insert into 学生 values('993012 ','何漓江','男','10/05/1979',103)insert into 学生 values('992104 ','康纪平','女','03/04/1981',102)insert into 学生 values('994125 ','康嘉家','男','07/05/1980',104)insert into 学生 values('991134 ','包立琪','女','03/14/1981',101)insert into 学生 values('994115 ','王海洋','男','04/13/1982',104)insert into 学生 values('991354 ','王立平','女','12/05/1981',101)goinsert into 成绩 values('991022','c101',88)insert into 成绩 values('991022','c102',67)insert into 成绩 values('992124','c101',77)insert into 成绩 values('992124','c102',95)insert into 成绩 values('992124','c103',45)insert into 成绩 values('994021','c104',87)insert into 成绩 values('994021','c102',78)insert into 成绩 values('994021','c103',67)insert into 成绩 values('991223','c101',66)insert into 成绩 values('991223','c102',89)insert into 成绩 values('993012','c102',93)insert into 成绩 values('993012','c103',84)

(2) 完成实验操作的SQL语言

1)在系表中插入一行数据{105,’管理’}

insert into 系 values (105,'管理')

2)向教工表中插入一行数据{2001,’葛小平’,’女’,’教授’,3420.00,102}

insert into 教工 values (2001,’葛小平’,’女’,’教授’,3420.00,102)

3)向教工表中插入一个教工号、姓名和工资,数据是{2109,’田新民’,2650}

insert into 教工(教工号,姓名,工资)  values (2109,'田新民',2650)

4)将教工表的姓名和工资拷贝到一个酬金表中

创建一个酬金表

create table 酬金 (教工姓名 char(8), 工资  numeric(8,2))

将教工表中姓名和工资两列数据拷贝到酬金表中

insert into 酬金 (教工姓名,工资)select 姓名,工资from 教工

5) 将教工表中职称为“教授”的工资增加15%

update 教工  set 工资=工资*1.15  where  职称='教授'

6) 将教工表中职称不是教授的人,工资增加10%

 update 教工 set 工资=工资*1.1 where 职称 NOT LIKE '教授'

7) 从教工表中删除教工号为2101的教工

delete  from 教工 where 教工号 = '2101'

8) 删除酬金表的所有数据

delete  from 酬金

9) 删除酬金表

drop table  酬金

10)在系表中添加一个电话号码属性,属性类型为char(8)  

alter table 系 add 电话号码 char(8)

11)修改系表中电话号码属性的宽度为char(13) 

alter table 系 alter column 电话号码  char(13)

12)删除系表中电话号码属性

alter table 系 drop column 电话号码

13)在学生表中删除何漓江同学的信息,包括他选课的信息。

提示:先删除子表中的选课信息,再删除主表中的信息。

思考:为什么必须这样做?

delete  from 成绩 where 学号 = '993012' delete  from 学生 where 学号 = '993012'

回答:当数据表之间存在外键关联的情况下,假如说直接将父表删除,结果将会显示失败。原因是直接删除的话,将会破坏表的参照完整性。如果必须要删除,可以先删除与它关联的子表,再删除父表,只是这样会同时删除两个表中的数据。

相关文章:

创建数据库数据插入、更新与删除

创建数据库和创建表 一、实验目的 (1)熟悉和掌握数据库的创建和连接方法; (2)熟悉和掌握数据库表的建立、修改和删除; (3)加深对表的实体完整性、参照完整性和用户自定义完整性的…...

【CTF Web】CTFShow web3 Writeup(SQL注入+PHP+UNION注入)

web3 1 管理员被狠狠的教育了&#xff0c;所以决定好好修复一番。这次没问题了。 解法 注意到&#xff1a; <!-- flag in id 1000 -->但是拦截很多种字符。 if(preg_match("/or|\-|\\|\*|\<|\>|\!|x|hex|\/i",$id)){die("id error"); }使用…...

常见API(JDK7时间、JDK8时间、包装类、综合练习)

一、JDK7时间——Date 1、事件相关知识点 2、Date时间类 Data类是一个JDK写好的Javabean类&#xff0c;用来描述时间&#xff0c;精确到毫秒。 利用空参构造创建的对象&#xff0c;默认表示系统当前时间。 利用有参构造创建的对象&#xff0c;表示指定的时间。 练习——时间计…...

Docker数据卷(volume)

数据卷 数据卷是一个虚拟目录&#xff0c;是容器内目录与宿主机目录之间映射的桥梁。&#xff08;容器内目录与宿主机目录对应的桥梁&#xff0c;修改宿主机对应的目录&#xff0c;docker会映射到容器内部&#xff0c;相当于修改了容器内的&#xff0c;反之也一样&#xff09;数…...

30.哀家要长脑子了!---栈与队列

1.388. 文件的最长绝对路径 - 力扣&#xff08;LeetCode&#xff09; 其实看懂了就还好 用一个栈来保存所遍历过最大的文件的绝对路径的长度&#xff0c;栈顶元素是文件的长度&#xff0c;栈中元素的个数是该文件目录的深度&#xff0c;非栈顶元素就是当时目录的长度 检查此…...

多重继承引起的二义性问题和虚基类

多重继承容易引起的问题就是因为继承的成员同名而产生的二义性问题。 例&#xff1a;类A和类B中都有成员函数display和数据成员a,类C是类A和类B的直接派生类 情况一&#xff1a; class A {public:int a;void display(); }; class B {public:int a;void display; }; class C:…...

ciscn

ciscn Crypto部分复现 古典密码 先是埃特巴什密码&#xff08;这个需要进行多次测试&#xff09;&#xff0c;然后base64&#xff0c;再栅栏即可 答案&#xff1a;flag{b2bb0873-8cae-4977-a6de-0e298f0744c3} _hash 题目&#xff1a; #!/usr/bin/python2 # Python 2.7 (6…...

智能的PHP开发工具PhpStorm v2024.1全新发布——支持PHPUnit 11.0

PhpStorm是一个轻量级且便捷的PHP IDE&#xff0c;其旨在提高用户效率&#xff0c;可深刻理解用户的编码&#xff0c;提供智能代码补全&#xff0c;快速导航以及即时错误检查。可随时帮助用户对其编码进行调整&#xff0c;运行单元测试或者提供可视化debug功能。 立即获取PhpS…...

Vue2+Element 封装评论+表情功能

有需要的小伙伴直接拿代码即可&#xff0c;不需要下载依赖&#xff0c;目前是初始版本&#xff0c;后期会进行代码的优化。 评论组件如下&#xff1a; 创建 comment.vue 文件。 表情组件 VueEmoji.vue 在评论组件中使用。 <template><div class"comment"…...

【k8s】存储 pvc 参数列表

相关文章&#xff1a; 【K8s】初识PV和PVC 【k8s】存储 pv 参数列表 【k8s】存储 pvc 参数列表 1. pv概述 2. 参数列表 [rootpaas-controller-3:/home/ubuntu]$ kubectl explain pvc.spec KIND: PersistentVolumeClaim VERSION: v1RESOURCE: spec <Object>DESCRI…...

数据集007:垃圾分类数据集(含数据集下载链接)

数据集简介 本数据拥有 训练集&#xff1a;43685张&#xff1b; 验证集&#xff1a;5363张&#xff1b; 测试集&#xff1a;5363张&#xff1b; 总类别数&#xff1a;158类。 部分代码&#xff1a; 定义数据集 class MyDataset(Dataset):def __init__(self, modetrain, …...

Spring常用注解(超全面)

官网&#xff1a;核心技术SPRINGDOC.CN 提供 Spring 官方文档的翻译服务&#xff0c;可以方便您快速阅读中文版官方文档。https://springdoc.cn/spring/core.html#beans-standard-annotations 1&#xff0c;包扫描组件标注注解 Component&#xff1a;泛指各种组件 Controller、…...

HQL面试题练习 —— 合并活动日期

目录 1 题目2 建表语句3 题解 1 题目 已知有表记录了每个大厅的活动开始日期和结束日期&#xff0c;每个大厅可以有多个活动。请编写一个SQL查询合并在同一个大厅举行的所有重叠的活动&#xff0c;如果两个活动至少有一天相同&#xff0c;那他们就是重叠的&#xff0c;请将他们…...

基于SVm和随机森林算法模型的中国黄金价格预测分析与研究

摘要 本研究基于回归模型&#xff0c;运用支持向量机&#xff08;SVM&#xff09;、决策树和随机森林算法&#xff0c;对中国黄金价格进行预测分析。通过历史黄金价格数据的分析和特征工程&#xff0c;建立了相应的预测模型&#xff0c;并利用SVM、决策树和随机森林算法进行训…...

Host头攻击-使用反向代理服务器或负载均衡器来传递路由信息

反向代理服务器的作用 安全性&#xff1a;反向代理服务器位于Web服务器之前&#xff0c;可以隐藏实际Web服务器的身份和地址&#xff0c;从而增加安全性。它还可以对客户端请求进行过滤和检查&#xff0c;以防止潜在的攻击。负载均衡&#xff1a;反向代理服务器可以将客户端请…...

AWS容器之Amazon ECS

Amazon Elastic Container Service&#xff08;Amazon ECS&#xff09;是亚马逊提供的一种完全托管的容器编排服务&#xff0c;用于在云中运行、扩展和管理Docker容器化的应用程序。可以理解为Docker在云中对应的服务就是ECS。...

win10/win11 优先调用大核的电源计划性能设置

前言 大小核&#xff0c;即Intel 12代开始的P-core&#xff08;性能核&#xff0c;一般叫大核&#xff09;和E-core&#xff08;能效核&#xff0c;一般叫小核&#xff09;异核架构。说下个人理解&#xff0c;就是英特尔为了增加cpu性能&#xff0c;但是又因为架构和功耗的限制…...

模型实战(20)之 yolov8分类模型训练自己的数据集

yolov8分类模型训练自己的数据集 yolov8,一个实时快速的端到端的集检测、分割、分类、姿态识别于一体的视觉算法库/框架本文将给出yolov8 分类模型的数据集制作格式及训练流程 1. 环境搭建 关于虚拟环境的搭建真的是老生常谈了,给出一个简单的搭建流程吧#新建虚拟环境 conda …...

好消息!PMP纸质证书可以领取啦!(22年11月至23年8月)

上周五&#xff0c;中国国际人才交流基金会官方发布了《关于2022年11月和2023年3月、5月、8月PMI认证考试证书领取》的通知&#xff0c;具体内容如下&#xff1a; 之前顺利通过PMP/ACP/PgMP考试的同学抓紧时间&#xff0c;在5月24日—6月10日内进入官网上登记领取证书。 PMP考…...

select函数(Unix系统)

select函数&#xff08;Unix系统&#xff09; 一、函数格式二、参数及返回值2.1 struct fd_set 结构体2.1 struct timeval 结构体2.3 函数参数2.4 返回值 三、用法举例3.1 监控终端输入内容 一、函数格式 #include <sys/time.h>#include <sys/types.h>#include <…...

微信好友数据分析与班级学生信息分析实战

微信好友数据分析与班级学生信息分析一、设计思想两个数据分析案例&#xff0c;旨在综合运用Python数据分析与可视化库&#xff08;Pandas、Matplotlib、PyEcharts、WordCloud、SnowNLP等&#xff09;&#xff0c;完成从数据读取、清洗、分析到可视化的全流程。设计思想如下&am…...

FPGA实现SRIO高速图像传输方案,设计模式(C++)详解——状态模式(State)(2)。

FPGA实现SRIO图像视频传输技术方案 基于Serial RapidIO Gen2协议的高性能图像视频传输方案&#xff0c;采用FPGA作为核心处理平台&#xff0c;提供完整的6套工程源码及技术支持。该方案适用于高速数据采集、实时图像处理等场景。 硬件架构设计 采用Xilinx Kintex-7系列FPGA作为…...

Python数据分析环境搭建:Phi-4-mini-reasoning辅助Anaconda管理

Python数据分析环境搭建&#xff1a;Phi-4-mini-reasoning辅助Anaconda管理 1. 为什么需要智能环境管理 刚接触Python数据分析时&#xff0c;最头疼的就是环境配置问题。不同项目需要不同版本的Python和库&#xff0c;手动管理容易导致依赖冲突。Anaconda虽然提供了便利的包管…...

手把手教你用NLI-DistilRoBERTa-Base:快速搭建自然语言推理服务

手把手教你用NLI-DistilRoBERTa-Base&#xff1a;快速搭建自然语言推理服务 1. 引言&#xff1a;什么是自然语言推理(NLI) 自然语言推理(Natural Language Inference)是NLP领域的一项重要任务&#xff0c;它需要判断两个句子之间的关系。想象一下&#xff0c;当你在阅读一段文…...

PX4固件版本不对,Offboard模式失灵?手把手教你给Pixhawk 4刷回旧版固件(附v1.11.0固件下载)

PX4固件版本不匹配导致Offboard模式失效&#xff1f;Pixhawk 4降级刷机全指南 最近在调试无人机Offboard模式时&#xff0c;不少开发者反馈最新版PX4固件出现兼容性问题——明明MAVLink指令发送正常&#xff0c;飞控却拒绝进入Offboard模式。这种"沉默式失效"往往让…...

ThinkJS路由系统终极指南:构建RESTful API的10个最佳实践

ThinkJS路由系统终极指南&#xff1a;构建RESTful API的10个最佳实践 【免费下载链接】thinkjs Use full ES2015 features to develop Node.js applications, Support TypeScript. 项目地址: https://gitcode.com/gh_mirrors/thi/thinkjs ThinkJS路由系统是构建现代Node…...

Legcord:革命性Discord轻量级客户端,10大特性全面解析

Legcord&#xff1a;革命性Discord轻量级客户端&#xff0c;10大特性全面解析 【免费下载链接】ArmCord Legcord is a custom client designed to enhance your Discord experience while keeping everything lightweight. 项目地址: https://gitcode.com/gh_mirrors/ar/ArmC…...

深入解析AdaptiveAvgPool2d:从原理到实践

1. 池化技术基础与核心价值 当你第一次听说"池化"这个词时&#xff0c;可能会联想到游泳池或者资源池。但在深度学习领域&#xff0c;池化(Pooling)是一种非常重要的降维操作&#xff0c;它就像一位精明的数据压缩师&#xff0c;能够在不丢失关键信息的前提下&#x…...

STM32看门狗库设计与FreeRTOS工程实践

1. STM32看门狗&#xff08;Watchdog&#xff09;库深度解析与工程实践1.1 看门狗在嵌入式系统中的核心价值在工业控制、医疗设备、汽车电子等对可靠性要求极高的嵌入式场景中&#xff0c;软件死锁、硬件异常、电磁干扰导致的程序跑飞是必须应对的关键风险。STM32微控制器内置的…...

基于MMC的两端柔性直流输电系统设计仿真:包含电压平衡控制策略、最近电平调制策略、环流抑制及详...

基于MMC的两端柔性直流输电系统设计仿真 1、MMC-HVDC 电压平衡控制策略&#xff1a;为了实现桥臂子模块的电压动态平衡 在正常运行时&#xff0c;由于桥臂子模块投切存在不一致性&#xff0c;以及级联的子模块中的电容不断的在充电、放电或者闭锁状态切换 2、最近电平调制策略&…...