数据操纵语言

以学生管理信息系统数据库stuMIS为例进行操作。

一、创建数据库及数据表

1.创建数据库

create  database  stuMIS

use  stuMIS

2.创建数据表department

create  table  department(

  departid int primary key,

  departname varchar(20) not null unique,

  office varchar(20),

  tel varchar(14),

  chairman varchar(20)

)engine=innodb;

engine=innodb——MySQL版本较新的无需写入命令。下同,不再赘述。

3.创建数据表class

create  table  class(

  classid varchar(10) primary key,

  departid int,

  classname varchar(40) not null unique,

  monitor varchar(10),

  constraint fk_departid foreign key(departid) references department(departid)

)engine=innodb;

4.创建数据表course

create  table  course(

  cid varchar(10) primary key,

  cname varchar(40) not null,

  teacher varchar(10),

  ctpye varchar(20),

  ctime varchar(30),

  smallnum int,

  registernum int

)engine=innodb;

注意:由于monitor如果作为外键,会造成class和student互为父子表,添加、删除、修改会造成很多限制。故此处去除掉monitor的外键约束。但monitor如何保障其必须是现有的学生?可以从程序端来进行限制。

5.创建数据表student

create  table  student(

  stuid varchar(10) primary key,

  stuname varchar(10) not null,

  stusex varchar(2) default '男',

  stupwd varchar(7) not null,

  stuage int,

  classid varchar(10),

  addr varchar(40),

  constraint fk_classid foreign key(classid) references class(classid)

)engine=innodb;

6.创建数据表score

create  table  score(

  stuid varchar(10),

  cid varchar(10),

  score int,

  primary key(stuid,cid),

  constraint fk_stuid foreign key(stuid) references student(stuid),

  constraint fk_cid foreign key(cid) references course(cid)

)engine=innodb;

二、插入数据

要求,几种插入方式都试一试。

1.插入department数据表数据

1,'计算机系','a502','4040','孙丰伟'

2,'经济管理系','a305','4024','李红艳'

3,'水晶石','a218','4012','吴可鹏'

4,'通信系','a308','4089','张楠'

5,'机电系','a216','4033','吴宝玉'

6,'建筑系','a212','4036','包伟丽'

命令:

 

2.插入class数据表数据

注:样例数据提供的monitor就是学生姓名

'15111',1,'软件中软一班' ,'王波'

'15112',1,'软件中软二班','江河'

'15113',1,'软件中软三班' ,'任永琼'

'15114',1,'软件普软四班' ,'张泽星'

'15121',1,'网络一班','张丽'

'15231',2,'物流一班','张松'

'15611',6,'桥梁一班','张敏芳'

'15321',3,'通信一班','沈佳萍'

'15411',4,'动漫一班','谢嘉'

'15511',5,'汽修一班','李平'

'15221',1,'电商一班','李世群'

命令:

 

3.插入student数据表数据

('1511101','何英国','女','123456',17,'15111','长春'),

('1511102','方振','男','123456',16,'15111', '长春')  ,

('1511103','雷英飞','男','abc123',18,'15111','四平'),

('1511104','金丹','女','765123',20,'15111','松原'),

('1511105','秦淼英','女','123',21,'15111','延吉'),

('1511201','奉雷刚','男','1511201',19,'15112','四平'),

('1511202','杨卫红','女','1511202',17,'15112','延吉'),

('1511203','周晓影','女','1511203',18,'15112','白山'),

('1511204','张义军','男','1511204',20,'15112','松原'),

('1511205','朱寒松','男','1511205',21,'15112','长春'),

('1523101','罗峰','男','1523101',17,'15231','延吉'),

('1523102','宁梦涵','女','1523102',18,'15231','延吉'),

('1523103','谭倩倩','女','1523103',18,'15231','长春'),

('1523104','谭倩倩','女','1523104',21,'15231','长春'),

('1523105','谭倩倩','女','1523105',21,'15231','松原'),

('1551101','蔡诗川','女','1511201',18,'15511','白山'),

('1551102','陈露玲','女','1511202',18,'15511','吉林'),

('1551103','程英','女','1511203',18,'15511','吉林'),

('1551104','王作杰','男','1511204',19,'15511','长春'),

('1551105','艾清','男','1511205',19,'15511','长春'),

('1522101','董泽琼','女','123456',20,'15221','吉林'),

('1522102','任海文','男','123456',17,'15221','吉林'),

('1522103','孙雪琴','女','abc123',17,'15221','松原'),

('1522104','李爱华','女','765123',18,'15221','长春'),

('1522105','何茂林','男','123',18,'15221','吉林')

命令:

 

4.插入course数据表数据

('10101','工程测量','孙瑞晨','工程技术','周一3-4节',20,16),

('10103','桥梁工程','黄金晓','工程技术','周一1-2节',15,12),

('10107','道路建筑材料','陈婷婷','工程技术','周二3-4节',20,17),

('20103','仓储与配送管理','陈科','管理','周二5-6节',15,26),

('20106','物流管理','严莉莉','管理','周一3-4节',30,36),

('30106','计算机应用基础','胡灵','计算机','周三7-8节',20,31),

('30107','计算机组装与维护','盛利','计算机','周三3-4节',30,36),

('30108','电子电工技术','吴晓红','计算机','周四1-2节',20,28),

('30214','数据库技术及应用','曾飞燕','计算机','周四3-4节',30,33),

('40103','通信设备管理','丁亮','通信','周五1-2节',30,37),

('51204','动画设计','李明华','动漫','周五3-4节',20,28),

('61008','机械制图','张世清','建筑','周五3-4节',20,28)

命令:

 

5.插入score数据表数据

('1511101','30106',89),('1511102','30106',96),

('1511103','30106',59),('1511104','30106',65),

('1511105','30106',88),('1511201','30106',99),

('1511202','30106',55),('1511203','30106',67),

('1511204','30106',65),('1511205','30106',78),

('1511101','30214',89),('1511102','30214',96),

('1511103','30214',59),('1511104','30214',65),

('1511105','30214',88),('1511201','30214',79),

('1511202','30214',45),('1511203','30214',87),

('1511204','30214',95),('1523101','20106',88),

('1523102','20106',90),('1523103','20106',95),

('1523104','20106',66),('1523105','20106',53),

('1522101','20103',63),('1522102','20103',20),

('1522103','20103',98),('1522104','20103',85),

('1522105','20103',65)

命令:

 

三、修改数据

1.修改学号1523103的学生年龄为19

命令:

 

2.将计算机系修改为信息工程学院,将通信系改为电气工程学院

命令:

 

3.将61008课程最少人数改为30,注册人数改为35

命令:

 

4.将机电系(部门号为5)、汽修一班的班长改为“何英国”

命令:

 

5、将1511202选修的30106课程成绩提高20%

命令:

 

四、完成下面的简单查询

1.查询所有学生的基本信息(student表所有列)

命令:

 

2.查询所有系部的名称和联系电话

命令:

 

3.查询所有课程名称和该课程的授课教师信息

命令:

 

4.查询所有班级名称和班长信息

命令:

 

5.查询所有学生的姓名、年龄和家庭住址,表头用汉字显示(使用别名)

命令:

 

6.查询student表中的班级编号(要求去掉重复)

命令:

 

7.查询有学生选课的课程号(注意,不是查看所有课程的课程号,而是有人选修了的课程的课程号)

命令:

 

 

 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

223文阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值