【MySQL】实验一 数据定义

目录

1. 表定义:创建工程项目表

2. 表定义:创建供应商表 

3. 表定义:创建供应情况表

4. 表定义:创建零件表 

5. 表定义:创建student表 

6. 表定义:创建course表

7. 表定义:创建sc表 

8. 修改表结构:修改供应情况表

9. 修改表结构:修改供应情况表 

10. 修改表结构: 修改课程表

11. 修改表结构:修改零件表 


1. 表定义:创建工程项目表

创建 j(工程项目表)

列名

说明

数据类型

约束

JNO

项目号

CHAR(6)

PRIMARY KEY

JNAME

项目名

VARCHAR(20)

NOT NULL

CITY

城市

VARCHAR(50)

CREATE TABLE j(
JNO CHAR(6),
JNAME VARCHAR(20) NOT NULL,
CITY VARCHAR(50),
PRIMARY KEY(JNO)
); 

2. 表定义:创建供应商表 

创建 s(供应商表)

列名

说明

数据类型

约束

SNO

供应商号

CHAR(6)

PRIMARY KEY

SNAME

供应商名

VARCHAR(20)

NOT NULL

SSTATUS

供应商状态

SMALLINT(2)

取值0或1

CITY

所在城市

VARCHAR(50)

CREATE TABLE s(
SNO CHAR(6) PRIMARY KEY,
SNAME VARCHAR(20) NOT NULL,
SSTATUS SMALLINT(2) CHECK(SSTATUS=0 OR SSTATUS=1),
CITY VARCHAR(50)
);

3. 表定义:创建供应情况表

供应情况表spj

列名

说明

数据类型

约束

SNO

供应商号

CHAR(6)

主码

PNO

零件号

CHAR(6)

主码

JNO

项目号

CHAR(6)

主码

QTY

供应数量

SMALLINT

DEFAULT 100

CREATE TABLE spj(
SNO CHAR(6),
PNO CHAR(6),
JNO CHAR(6),
QTY SMALLINT DEFAULT 100,
PRIMARY KEY(SNO,PNO,JNO)
);

4. 表定义:创建零件表 

创建p(零件表)

列名

说明

数据类型

约束

PNO

零件号

CHAR(6)

PRIMARY KEY

PNAME

零件名

VARCHAR(20)

NOT NULL

COLOR

颜色

枚举类型

取(红、绿、蓝)其中之一

WEIGHT

重量

DECIMAL(9,2)

默认值1.0

CREATE TABLE p(
PNO CHAR(6),
PNAME VARCHAR(20) NOT NULL,
COLOR ENUM('红','绿','蓝'),
WEIGHT DECIMAL(9,2) DEFAULT 1.0,
PRIMARY KEY(PNO)
); 

5. 表定义:创建student表 

创建student(学生表)

列名

说明

数据类型

约束

SNO

学号

CHAR(7)

主码

SNAME

姓名

CHAR(10)

NOT NULL

SSEX

性别

枚举类型

取“男”或“女”

SAGE

年龄

SMALLINT

SDEPT

所在系

VARCHAR(20)

默认“计算机系”

6. 表定义:创建course表

创建course(课程表)

列名

说明

数据类型

约束

CNO

课程号

CHAR(10)

主码

CNAME

课程名

VARCHAR(20)

NOT NULL,惟一约束

CCREDIT

学分

SMALLINT

>0

SEMSTER

学期

SMALLINT

>0

PERIOD

学时

SMALLINT

>0

CREATE TABLE course(
CNO CHAR(10),
CNAME VARCHAR(20) NOT NULL,UNIQUE(CNAME),
CCREDIT SMALLINT CHECK(CCREDIT>0),
SEMSTER SMALLINT CHECK(SEMSTER>0),
PERIOD SMALLINT CHECK(PERIOD>0),
PRIMARY KEY(CNO)
); 

7. 表定义:创建sc表 

创建sc(选课表)

列名

说明

数据类型

约束

SNO

学号

CHAR(7)

主码

引用Student的外码,设置删除限制,更新级联

CNO

课程号

CHAR(10)

主码,引用Course的外码,设置删除限制,更新级联

GRADE

成绩

SMALLINT

CREATE TABLE sc(
SNO CHAR(7),
CNO CHAR(10), 
GRADE SMALLINT,
PRIMARY KEY(SNO,CNO),
FOREIGN KEY(SNO) REFERENCES student(SNO) 
ON DELETE RESTRICT ON UPDATE CASCADE,
FOREIGN KEY(CNO) REFERENCES course(CNO) 
ON DELETE RESTRICT ON UPDATE CASCADE
);

8. 修改表结构:修改供应情况表

已知供应情况表spj

列名

说明

数据类型

约束

SNO

供应商号

CHAR(6)

NOT NULL

PNO

零件号

CHAR(6)

NOT NULL

JNO

项目号

CHAR(6)

NOT NULL

QTY

供应数量

SMALLINT

DEFAULT 100

ALTER TABLE spj
ADD id INT auto_increment PRIMARY KEY; 

9. 修改表结构:修改供应情况表 

为供应情况表spj添加参照完整性约束(无需设置规则,采用默认约束规则)

spj的SNO列参照s表SNO列,采用默认规则;

spj的PNO列参照p表PNO列,设置删除级联;

spj的JNO列参照j表JNO列,设置更新级联;

ALTER TABLE spj
ADD  FOREIGN KEY (SNO) REFERENCES s(SNO),
ADD  FOREIGN KEY (PNO) REFERENCES p(PNO)
ON DELETE CASCADE,
ADD  FOREIGN KEY (JNO) REFERENCES j(JNO)
ON UPDATE CASCADE;

10. 修改表结构: 修改课程表

修改课程表course的CNAME属性列的类型为VARCHAR(30);

ALTER TABLE course
MODIFY CNAME VARCHAR(30);

11. 修改表结构:修改零件表 

为零件表:p 增加一个规格(GUIGE)列,数据类型为字符,长度50;

ALTER TABLE p
ADD GUIGE CHAR(50);

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(四)HDFS双HA高可用机制

目录 概述 原理 主备切换 小结: 概述 进入到了hadoop 2.x的时代,为了保证namenode上的元数据不会丢失,而且是高可用的,出现了双实例HA的机制 原理 集群里启动两个namenode,一个是active状态(主),一个是standby(备…

HDFS黑名单退役服务器

黑名单:表示在黑名单的主机IP地址不可以,用来存储数据。 企业中:配置黑名单,用来退役服务器。 黑名单配置步骤如下: 1)编辑/opt/module/hadoop-3.1.3/etc/hadoop目录下的blacklist文件 添加如下主机名称&…

Spring —— 初学 Spring, 理解控制反转

JavaEE传送门JavaEE Servlet —— Smart Tomcat,以及一些访问出错可能的原因 Servlet —— Servlet API 目录SpringIoC (理解控制反转)传统代码ioc代码DISpring Spring 通常指的是 Spring Farmework (Spring 框架), 它是一个开源框架 用一句话来概括: Spring 是一个包含了众多…

【linux】Linux基本指令(上)

前言: 在之前我们已经简单了介绍了一下【Linux】,包括它的概念,由来啊等进行了讲解,接下来我们就将正式的踏入对其的学习!!! 本文目录👉操作系统的概念1.命令的语法1.1命令介绍1.2选…

ChatGPT告诉你:项目管理能干到60岁吗?

早上好,我是老原。这段时间最火的莫过于ChatGPT,从文章创作到论文写作,甚至编程序,简直厉害的不要不要的。本以为过几天热度就自然消退了,结果是愈演愈烈,热度未减……大家也从一开始得玩乐心态&#xff0c…

python flask项目打包成docker镜像发布

1.编写python flask代码,简单写一个加法的接口,命名为sum.py import json from flask import Flask,request,render_template app Flask(__name__)app.route(/) def index():return hello worldapp.route(/sum,methods[POST]) def correct():a request…

C/C++网络编程笔记Socket

https://www.bilibili.com/video/BV11Z4y157RY/?vd_sourced0030c72c95e04a14c5614c1c0e6159b上面链接是B站的博主教程,源代码来自上面视频,侵删,这里只是做笔记,以供复习和分享。上一篇博客我记录了配置环境并且跑通了&#xff0…

Nginx——Nginx的优化设计

摘要 本博文介绍Nginx的优化设计方向和原理,帮助大家在nginx的使用和优化中提供一个参考的方向,让你的nginx发挥最大性能,节约系统资源。 一、Nginx开启Http2.0的优化 HTTP/2是HTTP协议的最新标准,它是HTTP/1.1的继承者。由于它…

大厂与小厂招人的区别,看完多少有点不敢相信

前两天在头条发了一条招人的感慨,关于大厂招人和小公司招人的区别。 大厂:有影响力,有钱,能够吸引了大量的应聘者。因此,也就有了筛选的资格,比如必须985名校毕业,必须35岁以下,不能…

数据结构与算法这么难,为什么我们还要学习?

文章目录前言1. 数据结构与算法是什么?2. 为什么数据结构与算法很难?3. 如何系统学习数据结构与算法?🍑 复杂度🍑 线性表🍑 树形结构🍑 图🍑 排序🍑 字符串🍑…

【c++】:模拟实现STL模板中的string

文章目录 前言一.string的模拟实现总结前言 上一篇文章我们详细介绍了STL中的string的一些常用的接口,这一篇文章我们将从底层实现string类,当然我们只是实现一些重要的,经常使用的接口,并且不是完全按照STL中的string去走的。 一…

对于从事芯片行业的人来说,有哪些知识是需要储备的?

近两年芯片行业大火,不少同学想要转行,却不知道该如何下手,需要学习哪些基础知识,下面就来看看资深工程师怎么说? 随着工艺的发展,芯片肯定是尺寸越来越小,至于小到什么样的程度是极限&#xf…

【小破站下载工具】Python tkinter 实现网站下载工具,所有数据一键获取

目录前言开发环境本次项目案例步骤先展示下完成品的效果界面导入模块先创建个窗口功能按键主要功能代码编写功能一功能二功能三前言 最近很多同学想问我,怎么把几个代码的功能集合到一起? 很简单,写一个界面就行了,想要哪个代码…

CSS的三大特性

🌟所属专栏:前端只因变凤凰之路🐔作者简介:rchjr——五带信管菜只因一枚😮前言:该系列将持续更新前端的相关学习笔记,欢迎和我一样的小白订阅,一起学习共同进步~👉文章简…

用ChatGPT生成Excel公式,太方便了

ChatGPT 自去年 11 月 30 日 OpenAI 重磅推出以来,这款 AI 聊天机器人迅速成为 AI 界的「当红炸子鸡」。一经发布,不少网友更是痴迷到通宵熬夜和它对话聊天,就为了探究 ChatGPT 的应用天花板在哪里,经过试探不少人发现&#xff0c…

vue3+vite项目移动端适配:postcss-pxtorem和amfe-flexible

一,定义 postcss-pxtorem PostCSS 的一个插件,可以从像素单位生成 rem 单位。 amfe-flexible amfe-flexible是配置可伸缩布局方案,主要是将1rem设为viewWidth/10。 二,使用 1. 设置 viewport 在 index.html 中: &l…

学生信息表

目录 一、功能说明 二、核心思想 三、所用知识回顾 四、基本框架 五、js功能实现部分 一、功能说明 (1)输入对应的信息,点击录入可以为下面的表格添加一条记录,注意当所填信息不完整时不允许进行提交。 (2&…

UE实现建筑生长(材质遮罩方式)效果

文章目录 1.实现目标2.实现过程2.1 遮罩2.2 生长动画3.参考资料1.实现目标 在UE中实现建筑的生成动画效果,GIF动图如下: 2.实现过程 通过动态设置材质遮罩OpacityMask的参数,即通过材质方式来实现建筑生长效果 2.1 遮罩 现有的教程中大多通过BoxMask-3D材质节点实现,但是…

扫地机器人(蓝桥杯C/C++)

题目描述 小明公司的办公区有一条长长的走廊,由 NN 个方格区域组成,如下图所示。 走廊内部署了 KK 台扫地机器人,其中第 ii 台在第 A_iAi​ 个方格区域中。已知扫地机器人每分钟可以移动到左右相邻的方格中,并将该区域清扫干净。…

Linux信号

目录 信号入门 1. 生活角度的信号 2. 技术应用角度的信号 3. 注意 4. 信号概念 5. 用kill -l命令可以察看系统定义的信号列表 6. 信号处理常见方式概览 产生信号 1. 通过终端按键产生信号 2. 调用系统函数向进程发信号 3. 由软件条件产生信号 4. 硬件异常产生信号 核…
最新文章