【数据库管理操作】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.mzph.cn/news/775468.shtml

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

相关文章

程序员 35 真的会失业吗

35 岁被认为是程序员职业生涯的一个重要节点&#xff0c;引发了许多人对职业发展受限的担忧。一些人担心随着年龄的增长&#xff0c;难以跟上技术更新的步伐&#xff1b;而另一些人则坚信丰富的经验和深厚的技术积累是无法替代的财富。 然而&#xff0c;我认为 35 岁并非是程序…

Sublime 彻底解决中文乱码

1. 按ctrl&#xff0c;打开Console&#xff0c;输入如下代码&#xff1a; import urllib.request,os; pf Package Control.sublime-package; ipp sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHand…

ubuntu之搭建samba文件服务器

1. 在服务器端安装samba程序 sudo apt-get install samba sudo apt-get install smbclient 2.配置samba服务 sudo gedit /etc/samba/smb.conf 在文件末尾追加入以下配置 [develop_share] valid users ancy path /home/ancy public yes writable y…

国内ip切换app,让切换ip变得简单

在数字化快速发展的今天&#xff0c;互联网已经成为我们生活中不可或缺的一部分。然而&#xff0c;随着网络应用的深入&#xff0c;用户对于网络环境的需求也日益多样化。其中&#xff0c;IP地址作为网络中的关键标识&#xff0c;其切换与管理显得尤为重要。为了满足用户对于IP…

每日一题 --- 链表相交[力扣][Go]

链表相交 题目&#xff1a;面试题 02.07. 链表相交 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交**&#xff1a;** 题目数据 保证 整个链式结…

【C语言】Infiniband驱动init_dev_assign函数

一、注释 一个内核模块的初始化函数&#xff0c;用于分配和初始化某些资源。以下是对代码块的逐行中文注释&#xff1a; // 定义一个初始化设备分配的函数 static void init_dev_assign(void) {int i 1;spin_lock_init(&dev_num_str_lock); // 初始化自旋锁if (mlx4_fil…

OpenCV图像滤波、边缘检测

OpenCV图像滤波 一、引言 在数字图像处理中&#xff0c;滤波是一种重要的技术&#xff0c;用于消除图像中的噪声、改善图像质量或提取特定信息。OpenCV&#xff08;开源计算机视觉库&#xff09;提供了丰富的滤波函数&#xff0c;可以方便地对图像进行各种滤波操作。本文将介…

SQLAlchemy中常用的查询方法[示例学习]

SQLAlchemy 是一个强大的 Python ORM&#xff08;对象关系映射&#xff09;工具&#xff0c;它提供了多种方法来执行数据库查询操作。以下是 SQLAlchemy 中常用的查询方法的总结&#xff1a; session.query()&#xff1a;使用 session.query(Model) 来创建一个查询对象&#xf…

Swift xcode app自动化

在本文中&#xff0c;我将教您如何使用Swift和Xcode进行应用程序自动化。如果您是一名经验丰富的开发者&#xff0c;我将引导您如何帮助一位刚入行的小白实现这一目标。我们将按照以下步骤进行操作&#xff1a; 创建一个新的Xcode项目 配置自动化测试目标 编写测试用例 运行自…

R: 网状Meta分析进行模型构建及图形绘制

网状meta分析的制作步骤主要包括&#xff1a; 1. 绘制网状证据图 2. 普通Meta分析&#xff08;两两之间的直接比较&#xff09; 3. 网状Meta分析&#xff08;整合直接比较和间接比较的结果&#xff0c;绘制相关图形&#xff09; 4. 绘制累积概率排序图 5. 三个假设的检验…

江协STM32:点亮第一个LED灯和流水灯

很多单片机都是高电平弱驱动&#xff0c;低电平强驱动&#xff0c;所以这里是低电平有效 点亮一个LED灯 操作STM32的GPIO需要三个操作&#xff1a; 第一个使用RCC开启GPIO的时钟 第二步使用GPIO_Init函数初始化GPIO 第三步使用输出或输入函数控制GPIO 1.使用RCC开启GPIO的时…

游戏开发笔记:游戏海外版本时区问题(解释时区问题,分解为js写法和lua写法来分析记录,整理出对应语言的相关函数方法。)

对于海外游戏而言,与时间相关的功能,都不能忽略时区的计算。根据 ‘ 服务端资源是有限的,客户端资源是无穷无尽的 ’的定义来说,基本上时区包括时间的计算都是由客户端来进行计算,今天内容也是围绕客户端来展开。 时区算法常见的时间描述时区需要计算的点在lua语言中的写…

Vue 模版编译原理

当我们使用Vue编写完一个组件以后&#xff0c;Vue会根据模版编译一个render函数&#xff0c;调用render函数生成虚拟DOM&#xff0c;然后将虚拟DOM映射成真实DOM 当数据发生变化时&#xff0c;Vue会触发更新视图&#xff0c;调用render函数返回新的虚拟DOM&#xff0c;对比新旧…

重置reactive对象(深拷贝与浅拷贝)

需求&#xff0c;点击不同登录方式&#xff0c;该图标高亮&#xff0c;别的图标置灰。&#xff08;高亮和置灰都有相应的引入图片&#xff09; <div class"other_icon"><img click"changeLoginType(item.index)" v-for"item in imgAddress&…

Docker数据卷挂载

一、容器与数据耦合的问题: 数据卷是虚拟的&#xff0c;不真实存在的&#xff0c;它指向文件中的文件夹 &#xff0c;属主机文件系统通过数据卷和容器数据进行联系&#xff0c;你改变我也改变。 解决办法&#xff1a; 对宿主机文件系统内的文件进行修改&#xff0c;会立刻反应…

HBase的Python API操作(happybase)

一、Windows下安装Python库&#xff1a;happyhbase pip install happybase -i https://pypi.tuna.tsinghua.edu.cn/simple 二、 开启HBase的Thrift服务 想要使用Python API连接HBase&#xff0c;需要开启HBase的Thrift服务。所以&#xff0c;在Linux服务器上&#xff0c;执行…

Day23:事务管理、显示评论、添加评论

事务管理 事务的定义 什么是事务 事务是由N步数据库操作序列组成的逻辑执行单元&#xff0c;这系列操作要么全执行&#xff0c;要么全放弃执行。 事务的特性(ACID) 原子性(Atomicity):事务是应用中不可再分的最小执行体&#xff08;事务中部分执行失败就会回滚 。一致性(C…

Windows入侵排查

目录 0x00 前言 0x01 入侵排查思路 1.1 检查系统账号安全 1.2 检查异常端口、进程 1.3 检查启动项、计划任务、服务 0x00 前言 当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时&#xff0c;急需第一时间进行处理&#xff0c;使企业的网络信息系统在最短时…

adb: error: failed to get feature set: no devices/emulators found

这个错误信息 adb: error: failed to get feature set: no devices/emulators found 表明 adb 工具无法找到任何连接的Android设备或模拟器来执行安装操作。这通常发生在以下几种情况&#xff1a; 没有设备连接&#xff1a;确保你的Android设备已经通过USB线连接到电脑&#xf…

Scikit-learn 数据挖掘和数据分析工具的使用指南

Scikit-learn是Python中一款非常强大且广泛使用的数据挖掘和数据分析工具。它为数据挖掘和数据分析任务提供了简单高效的接口&#xff0c;涵盖了分类、回归、聚类、降维、模型选择等多个方面。以下是一份详细的使用指南&#xff0c;帮助用户更好地理解和使用Scikit-learn。 一…