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

【数据库管理操作】Mysql 创建学生数据库及对数据表进行修改

MySQL 创建学生成绩数据库

1.创建数据库

create database studentscore;

创建完成之后,如果需要使用该数据,使用use命令

use studentscore;

创建表前查看当前数据库中包含的表

show tables;		

在这里插入图片描述

2.创建bclass

create table  bclass(
class_id char(8) primary key,
class_name varchar(20) not null unique,
class_num int(6) default(0),
major_id char(2),
length char(1),
depart_char char(2));

在这里插入图片描述

3.创建bstudent

create table bstudent(
stud_id char(10) primary key,
stud_name varchar(50) not null,
stud_sex Enum('男','女'),
birth Date default '1900-01-01',
members varchar(40),
family_place varchar(50),
class_id char(8),
constraint Fk_classid
foreign key(class_id) references bclass(class_id)
);

在这里插入图片描述

注:上面代码中,通过外键约束,在bstudent表的班级代号列class_id上建立了与班级信息表bclass班级代号class_id的关联关系。

4.创建bcourse

create table bcourse(
course_id char(8) primary key,
course_name varchar(40) not null,
course_type Enum ('必修','选修'),
hours int(6),
credit int(4)
);

在这里插入图片描述

5.创建bscore

create table bscore(
stud_cod int primary key auto_increment,
stud_id char(10) not null,
course_id char(8) not null,
term tinyint,
score decimal(5,1),
makeup decimal(5,1),
constraint Fk_bscore_bcourse
foreign key (course_id) references bcourse (course_id)
);

在这里插入图片描述

在创建表时,Fk_bscore_bcourse为在course_id列上定义的外键约束名,Fk_bscore_bstudent为在列上定义的外键约束名。

6.创建major

create table major(
major_id char(2) primary key,
major_name varchar(40) not null unique,
depart_id char(2),
depart_name varchar(40)
);

在这里插入图片描述

7.创建user

create table user 
(
user_dh char(10) primary key,
user_name varchar(40) not null,
user_bz tinyint,
password varchar(40) not null
);

在这里插入图片描述

对数据表进行修改操作

1.建立检查约束

alter  table 表名
ADD [CONSTRAINT [约束名]] CHECK (条件表达式)

【任务实现】

alter table bscore
add constraint Ck_score check (score>=0 and score<=100);

【任务拓展】

用同样的方法在bcourse表的课时数hours列上创建检查约束,规定其值必须大于等于0

alter table bcourse
add constraint Ck_hours check (hours>=0);

2.建立默认约束

ALTER TABLE 表名 ALTER 列名 SET DEFAULT 默认值;
ALTER TABLE 表名 ALTER 列名 DROP DEFAULT;

【任务实现】

alter table bstudent alter birth set default '1900-01-01';

【任务拓展】

用同样的方法在bcourse表的学分credit列上建立默认约束,默认值为0.

alter table bcourse alter credit set default 0;

3.直接插入赋值

INSERT [INTO] 表名 [(列名1)[,列名2][,...n])]
VALUES (常量1[,常量2][,...n]) (常量1[,常量2][,...m][,...n])

【任务实现】

在新行的所有列中添加数据

insert into major values('31','计算机应用','30','信息学院');

在新行的所有列中添加数据且一次插入多条记录

insert into bclass
values ('30311231','计应123','45','31','3','30'),('30311232','计应321',null,'31','3','30');

执行成功后,通过select语句查看插入结果

select *from bclass;

在新行的部分列中添加数据且一次插入多条记录

insert into bstudent (stud_id, stud_name,stud_sex,birth,class_id)
values ('1234569','张三三','男','1999-06-23','987654'),('2345691','李思思','女','2000-01-31','234567');

未完待续…

有想了解更多或者遇到无法解决的问题的时候,欢迎各位进企鹅🐧聊天群交流讨论!615555402

http://www.lryc.cn/news/326593.html

相关文章:

  • vue2 export default写法,computed、methods的使用
  • 负氧离子监测站:创造健康生活环境
  • 【jvm】young gc full gc
  • 2024年腾讯云服务器租用价格_轻量和CVM报价
  • 【go从入门到精通】for循环控制
  • <chrono>, clock_gettime(), gettimeofday()对比
  • 基于 YAML 接口自动化测试框架设计
  • 团体程序设计天梯赛 L2-031 深入虎穴
  • 基于Givens旋转完成QR分解进而求解实矩阵的逆矩阵
  • 学习使用xbox手柄控制小乌龟节点移动
  • OpenLayers6实战,OpenLayers绘制特殊图形,OpenLayers绘制四角形(菱形),OpenLayers绘制菱形
  • 虚拟机如何在原有磁盘上扩容
  • 2024-03-27 作业
  • C语言二叉树和堆(个人笔记)
  • 重学SpringBoot3-Profiles介绍
  • Transformer 论文阅读笔记
  • Vue 3中ref和reactive的区别
  • oracle19c adg搭建
  • 关闭Elasticsearch built-in security features are not enabled
  • MC0248 密码判断器(判断强弱密码)
  • vue3+threejs新手从零开发卡牌游戏(十六):初始化对方手牌
  • 网页无插件视频播放器,支持录像、截图、音视频播放,多路播放等,提供源码下载
  • Openstack创建和操作实例,实现与外部网络通信
  • dubbo 源码系列之-集群三板斧---负载均衡(二)
  • 【一周一篇小题解】洛谷P1035级数求和
  • 2024-03-26 AIGC-大模型学习路线
  • QGraphicsView的使用,view坐标,scene坐标,item坐标
  • from_pretrained 做了啥
  • 2024/03/27(C++·day3)
  • Multimodal Chain-of-Thought Reasoning in Language Models阅读笔记