数据库实验一 数据表的创建与修改管理

数据库实验一、数据表的创建与修改管理实验

    • 一、实验目的
    • 二、设计性实验
    • 三、观察与思考

一、实验目的

(1) 掌握表的基础知识。
(2) 掌握使用SQL语句创建表的方法。
(3) 掌握表的修改、查看、删除等基本操作方法。
(4) 掌握表中完整性约束的定义。
(5) 掌握完整性约束的作用

二、设计性实验

(一)在StudentInfo数据库中创建student表和grade表,表结构要求如下:
Student表的内容
字段名 字段描述 数据类型 主键 外键 非空 唯一 自增
num 学号 INT(10) 是 否 是 是 否
name 姓名 VARCHAR(20) 否 否 是 否 否
sex 性别 VARCHAR(4) 否 否 是 否 否
birthday 出生日期 DATE 否 否 否 否 否
address 家庭住址 VARCHAR(50) 否 否 否 否 否
Grade表的内容
字段名 字段描述 数据类型 主键 外键 非空 唯一 自增
id 编号 INT(10) 是 否 是 是 否
Course 课程名 VARCHAR(10) 否 否 是 否 否
S_num 学号 INT(10) 否 是 是 否 否
grade 成绩 VARCHAR(4) 否 否 否 否 否
表创建成功后,查看两个表的结构。然后按照下列要求进行表操作,写成相关的命令行:

1.将grade表的course字段的数据类型改为VARCHAR(20)
ALTER TABLE grade MODIFY course VARCHAR(20) NOT NULL;
将grade表的course字段的数据类型改为VARCHAR(20)

2.将grade字段改名为score。
ALTER TABLE grade CHANGE grade score varchar(4) NOT NULL;
将grade字段改名为score

3.删除grade表的外键约束。
ALTER TABLE grade DROP FOREIGN KEY grade_fk;
在这里插入图片描述

4.将student表的address字段删除。
ALTER TABLE student DROP address;
在这里插入图片描述

5.在student表中增加名为phone的字段。
ALTER TABLE student ADD phone FLOAT;
在这里插入图片描述

6.删除student表。
Drop table student;
在这里插入图片描述

三、观察与思考

1、关于NOT NULL
(1) 在定义基本表语句时,NOT NULL参数的作用是什么?
not null 为数据库约束中的非空约束。其作用为限制表中该列数据不可为空。
(2) 主码列修改成允许NULL能否操作?为什么?
不能,主键是唯一标识且不能重复,如果为空,就无法识别
2、关于外码
(1) 根据下面设计的表结构,Employee表的外键能否设置成功?思考外码设 置需要注意哪些问题?
在这里插入图片描述

(2) 如果主表无数据,从表的数据能输入吗?
不可以
(3) 先创建从表,再创建主表是否可以
MySQL能先创从表后创主表
3、关于主码和唯一约束
(1) 唯一约束列是否允许NULL值?
可以
(2) 一张表可以设置几个主码,可以设置几个唯一约束?
主键只有一个,但是可以设置为多个字段为主键,也即联合主键。外键就是自己设置了也即可以有多个,可以设置除主键以外的其他字段全部是外键的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/158416.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode:反转链表

题目描述 题目链接:206. 反转链表 - 力扣(LeetCode) 分析题目 思路一 我们可以设计算法让整个链表掉头 定义三个代码n1,n2,n3 n1指向NULL,n2指向head,n3指向第二个结点 当n2不为NULL的时候,让n2->ne…

2023年中国雷达设备市场规模及市场份额分析[图]

雷达设备行业是一种利用无线电波对目标进行探测和定位的技术,也被称为无线电探测和定位。雷达通过发射电磁波对目标进行照射并接收其回波,经波形处理后获取目标的位置和速度等信息。雷达具有探测距离远,测定精度高,不受天气和地形…

设计模式-访问者模式-笔记

Visitor模式 动机(Morivation) 在软件构建过程中,由于需求的变化,某些类层次结构中常常需要增加新的行为(方法),如果直接在基类中做这样的更改,将会给子类带来很繁重的变更负担&am…

汇编基础知识

1.1 机器语言 机器语言就是一些二进制代码,存放在内存中。它是机器指令的集合,所谓机器指令就是机器能够正确执行的命令 1.2 汇编语言的产生 1.汇编语言的主体是汇编指令 2.汇编指令实际上就是机器指令的助记符。它们的唯一区别在于书写方式上 寄存器…

React+后端实现导出Excle表格的功能

最近在做一个基于Reactantd前端框架的Excel导出功能,我主要在后端做了处理,这个功能完成后,便总结成一篇技术分享文章,感兴趣的小伙伴可以参考该分享来做导出excle表格功能,以下步骤同样适用于vue框架,或者…

nginx安装之后修改配置无效

这个问题排查了一晚上,配置怎么改都无效。原本以为错误信息在控制台就能告诉我们,但有些错误信息它都放在日志。查看了日志才发现是没有权限引起的。 这种情况一般是防火墙引起的。可以临时关闭防火墙测试一下 输入如下命令 setenforce 0 如果您使用的…

(vue)前后端配合实现文件预览功能

(vue)前后端配合实现文件预览功能 1.页面&#xff1a; 2.后台返回数据&#xff1a; 3.预览效果&#xff1a; 4.代码&#xff1a; <el-descriptions-item><template slot"label">文件名称</template><el-button type"text" click"…

【开源】基于Vue.js的婚恋交友网站

项目编号&#xff1a; S 057 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S057&#xff0c;文末获取源码。} 项目编号&#xff1a;S057&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 会员管理模块2.3 新…

C语言三位数求解(ZZULIOJ1076:三位数求解)

题目描述 已知xyzyzzn&#xff0c;其中n是一个正整数&#xff0c;x、y、z都是数字&#xff08;0-9&#xff09;&#xff0c;编写一个程序求出x、y、z分别代表什么数字。如果无解&#xff0c;则输出“No Answer”注意&#xff1a;xyz和yzz表示一个三位数&#xff0c;而不是表示x…

Leetcode刷题之有效的括号(C语言版)

Leetcode刷题之有效的括号&#xff08;C语言版&#xff09; 一、题目描述二、题目测试用例三、题目分析四、完整代码 一、题目描述 20、有效的括号 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是…

LED Driver数码屏应用解决方案

今天给大家介绍的产品是LED Driver&#xff0c;这属于电源管理类芯片&#xff0c;一般分为恒流驱动与恒压驱动&#xff0c;但是常见的就是恒流驱动&#xff0c;能够保持产品在驱动中提供恒定且稳定的电流。 基本概述 TM1629是一种带键盘扫描接口的LED&#xff08;发光二极管显…

Vellum —— 简介

目录 一&#xff0c;介绍 二&#xff0c;原理 三&#xff0c;PBD算法 一&#xff0c;介绍 Vellum是一个解算模拟框架&#xff0c;使用更高级的PBD&#xff08;XPBD&#xff0c;extended position based dynamics&#xff09;&#xff0c;是2nd Order Integration&#xff08…

Java生成一个区域内的经纬度随机点的方式

准备&#xff1a; 1、四个角点&#xff08;四个点确定一个框&#xff09; 2、想要细分程度 &#xff08;这里说的是经纬度&#xff0c;这里没有对经纬度做更细的区分&#xff09; 如&#xff1a;0.000001约等于0.1m&#xff0c;0.00001约等于1m&#xff0c;0.0001约等于10m 。。…

MongoDB——索引(单索引,复合索引,索引创建、使用)

MongoDB索引 官方文档 https://docs.mongodb.com/manual/indexes/#create-an-index 默认索引 _id index Mongodb 在 collection 创建时会默认建立一个基于_id 的唯一性索引作为 document 的 primarykey&#xff0c;这个 index 无法被删除 单个字段索引 单字段索引是 Mongo…

【Skynet 入门实战练习】开发环境搭建 | 运行第一个项目 | debug console 简单使用

文章目录 写在前面开发环境搭建skynet配置文件项目&#xff0c;启动&#xff01; debug console 写在前面 本系列【Skynet 入门实战练习】所有源码同步&#xff1a;https://gitee.com/Cauchy_AQ/skynet_practice 开发环境搭建 skynet skynet 框架地址&#xff1a;https://g…

什么款式的蓝牙耳机跑步不容易掉?推荐几款很不错的运动耳机

​如果你正在寻找一款性能卓越、佩戴舒适的耳机&#xff0c;那么运动耳机绝对是你的不二选择。它们不仅具备出色的音质&#xff0c;还具备防水、防汗、防震等多项特点&#xff0c;让你在运动时更加尽情享受音乐。接下来给大家推荐几款很不错的运动耳机。 1.南卡开放式运动耳机…

南京数字孪生赋能工业制造,加速推进制造业数字化转型

随着南京信息技术的迅猛发展和工业管理的不断演进&#xff0c;传统的工业管理方式已经无法满足企业对高效、智能和可持续发展的需求。针对这一情况&#xff0c;数字孪生技术应运而生&#xff0c;为南京工业管理带来了全新的变革和机遇。以数字孪生为理念&#xff0c;三维可视化…

闪存基本原理

系列文章目录 一、SSD主控 二、PCIe和NVMe控制器前端子系统 文章目录 系列文章目录三、闪存基本原理1.结构2.衍生问题 三、闪存基本原理 闪存是SSD的存储介质&#xff08;NAND Flash&#xff09;&#xff0c;它是一种非易失性存储器&#xff08;Non-volatile memory&#xff0…

centos7 怎么让命令行显示中文(英文->中文)

要让CentOS 7命令行显示中文&#xff0c;您需要确保您的系统支持中文字符集&#xff0c;并在命令行中设置正确的语言环境。以下是设置中文字符集和语言环境的步骤&#xff1a; 首先&#xff0c;确保您的系统已经安装了中文字体。在终端中运行以下命令来查看安装的中文字体&…

开源免费的流程设计器如何选型

大家在开发OA办公自动化、ERP、CRM、BPM、低代码平台等项目的时候&#xff0c;经常用到流程引擎&#xff0c;目前主流的开源流程引擎有activiti、flowable、camunda。这几个开源的流程引擎均基于BPMN2.0国际规范标准&#xff0c;其功能均比较强大&#xff0c;接口也很丰富。但涉…