小白教程-基础学生和院系数据库创建

6月24日

1、数据库需求

1、某个学院打算编写一套软件,这个软件对学生管理工作起作用,软件中需要包含的功能有学生基础信息、学生宿舍信息,学生学习成绩,学生选修科目等信息。 请根据软件功能写出表的结构信息。

合理化解决问题

1、记录需求 2、把需求的名词、动词全部列出来 3、把无关的内容排除掉 4、合并同类需求 5、找出隐藏的需求 6、把模糊的内容明确化

绘制图的软件网址:ProcessOn思维导图流程图-在线画思维导图流程图_在线作图实时协作

绘制ER图

初步ER图:

创建数据库,推荐配置:

一键式数据库代码:

 SET NAMES utf8mb4;
 SET FOREIGN_KEY_CHECKS = 0;
 ​
 -- ----------------------------
 -- Table structure for depart
 -- ----------------------------
 DROP TABLE IF EXISTS `depart`;
 CREATE TABLE `depart`  (
   `depart_id` int(11) NOT NULL COMMENT '院系id',
   `depart_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_icelandic_ci NOT NULL COMMENT '院系名称',
   `depart_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_icelandic_ci NOT NULL COMMENT '院办电话',
   `depart_location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_icelandic_ci NOT NULL COMMENT '院办地址',
   PRIMARY KEY (`depart_id`) USING BTREE
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_icelandic_ci ROW_FORMAT = Dynamic;
 ​
 -- ----------------------------
 -- Records of depart
 -- ----------------------------
 INSERT INTO `depart` VALUES (10000, '计算机学院', '66668888', '计算机专业楼');
 INSERT INTO `depart` VALUES (10001, '物理学院', '66668889', '物理专业楼');
 ​
 -- ----------------------------
 -- Table structure for student
 -- ----------------------------
 DROP TABLE IF EXISTS `student`;
 CREATE TABLE `student`  (
   `stu_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id号',
   `stu_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_icelandic_ci NOT NULL COMMENT '学生姓名',
   `stu_no` int(11) NOT NULL COMMENT '学生学号',
   `depart_id` int(11) NOT NULL COMMENT '院系id',
   `stu_card_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_icelandic_ci NOT NULL COMMENT '身份证号',
   `stu_subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_icelandic_ci NOT NULL COMMENT '专业信息',
   PRIMARY KEY (`stu_id`) USING BTREE,
   INDEX `student_depart_id`(`depart_id`) USING BTREE,
   CONSTRAINT `student_depart_id` FOREIGN KEY (`depart_id`) REFERENCES `depart` (`depart_id`) ON DELETE CASCADE ON UPDATE CASCADE
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_icelandic_ci ROW_FORMAT = Dynamic;
 ​
 -- ----------------------------
 -- Records of student
 -- ----------------------------
 INSERT INTO `student` VALUES (6, '张三', 210101001, 10000, '41010119990101103005', '计科');
 INSERT INTO `student` VALUES (8, '张三', 210101001, 10000, '41010119990101103005', '计科');
 INSERT INTO `student` VALUES (9, '李四', 210101001, 10000, '41010119990101103005', '计科');
 INSERT INTO `student` VALUES (10, '王五', 210101001, 10000, '41010119990101103005', '计科');
 INSERT INTO `student` VALUES (11, '小陈', 210101001, 10000, '41010119990101103005', '计科');
 INSERT INTO `student` VALUES (12, '小红', 210101001, 10000, '41010119990101103005', '计科');
 INSERT INTO `student` VALUES (13, '小明', 210101001, 10000, '41010119990101103005', '计科');
 INSERT INTO `student` VALUES (14, '小明', 210101001, 10000, '41010119990101103005', '计科');
 ​
 SET FOREIGN_KEY_CHECKS = 1;

其中注意不同表的外键的联系,如图所示:

学生student表:

部门depart表:

以下是学生表的外键student_depart_id图:

简单温习一下sql语句,简单基础:

 -- INSERT
 -- INSERT INTO 表名 (列名,列名,...) VALUES(值1,值2...)
 ​
 INSERT INTO student (stu_name,stu_no,depart_id,stu_card_no,stu_subject)
 VALUES
 ('小明',210101001,10000,'41010119990101103005','计科');
 ​
 ​
 -- DELETE
 -- DELETE FROM 表名 where 条件语句 (按照id进行删除)
 -- 条件运算符 = != <> > < 
 DELETE FROM student where stu_id = 7;
 ​
 -- UPDATE
 -- UPDATE 表名 set 列=值,列=值, where 条件语句
 -- 把数据库表中id是8的同学的名字改成张三
 UPDATE student set stu_name='张三' where stu_id = 8;
 ​
 ​
 -- SELECT
 SELECT * FROM student;-- 查询所有学生信息
 -- 基础查询语句 SELECT * FROM 表名 limit 参数1:从第几行数据后查,参数2:查询多少行
 SELECT * FROM student LIMIT 0,5;
 SELECT * FROM student LIMIT 5,5;
 ​
 -- SELECT * FROM 表名 WHERE 查询条件
 -- WHERE 查询条件 多个条件 使用 and 和 or 进行连接 and(&&) 和 or(||) 有优先级
 SELECT * FROM student WHERE stu_name = '王五' && depart_id = 10000 LIMIT 0,3;
 ​
 -- 统计运算符
 -- sum() count() avg() mav() min()
 SELECT count(1) from student;-- 统计总行数,使用count(*)也可以
 SELECT sum(stu_no) FROM student;-- 学号总额
 SELECT avg(stu_no) FROM student;-- 学号平均数
  • 18
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值