表和表数据的操作
掌握数据库中的最基本组成表和表数据的操作能够使用管理工具和SQL语句两种方法对表和表数据进行增加、删除和修改。
·
基于OBE模式的实验目的和要求
支持毕业要求指标点:
- 1-2.能够将数学、自然科学、工程科学的语言工具用于软件工程问题的表述;
- 5-1.能够掌握软件工程领域中主要方法、平台、工具的使用原理和方法,了解其差异和适用领域;
能力要求:
- 掌握数据库中的最基本组成表和表数据的操作
- 能够使用管理工具和SQL语句两种方法对表和表数据进行增加、删除和修改。
实验目的和要求
- 熟悉各种数据类型;
- 掌握列的各种属性;
- 掌握在MySQL中使用Workbench或者SQL命令创建数据表和修改数据表的方法(以SQL命令为重点)。
- 掌握在MySQL中使用Workbench在表中插入数据的方法。
二、实验仪器和设备
设备:奔腾Ⅳ或奔腾Ⅳ以上计算机;
环境:WINDOWS、MySQL中文版。
三、实验过程
给定如表2.1、表2.2和表2.3所示的学生信息。
表2.1 学生表student
| 学号 | 姓名 | 性别 | 专业班级 | 出生日期 | 联系电话 |
|---|---|---|---|---|---|
| 0433 | 张艳 | 女 | 生物04 | 1986-9-13 | |
| 0496 | 李越 | 男 | 电子04 | 1984-2-23 | 1381290×××× |
| 0529 | 赵欣 | 男 | 会计05 | 1984-1-27 | 1350222×××× |
| 0531 | 张志国 | 男 | 生物05 | 1986-9-10 | 1331256×××× |
| 0538 | 于兰兰 | 女 | 生物05 | 1984-2-20 | 1331200×××× |
| 0591 | 王丽丽 | 女 | 电子05 | 1984-3-20 | 1332080×××× |
| 0592 | 王海强 | 男 | 电子05 | 1986-11-1 |
表2.2 课程表course
| 课程号 | 课程名 | 学分数 | 学时数 | 任课教师 |
|---|---|---|---|---|
| K001 | 计算机图形学 | 2.5 | 40 | 胡晶晶 |
| K002 | 计算机应用基础 | 3 | 48 | 任泉 |
| K006 | 数据结构 | 4 | 64 | 马跃先 |
| M001 | 政治经济学 | 4 | 64 | 孔繁新 |
| S001 | 高等数学 | 3 | 48 | 赵晓尘 |
表2.3 学生作业表sc
| 课程号 | 学号 | 作业1成绩 | 作业2成绩 | 作业3成绩 |
|---|---|---|---|---|
| K001 | 0433 | 60 | 75 | 75 |
| K001 | 0529 | 70 | 70 | 60 |
| K001 | 0531 | 70 | 80 | 80 |
| K001 | 0591 | 80 | 90 | 90 |
| K002 | 0496 | 80 | 80 | 90 |
| K002 | 0529 | 70 | 70 | 85 |
| K002 | 0531 | 80 | 80 | 80 |
1.对表2.1,表2.2和表2.3,分别以下表的方式给出各字段的属性定义和说明。
字段名 数据类型 长度或者精度 默认值 完整性约束
学号 varchar 10 无 主键 非空
姓名 varchar 12 无 非空
性别 enum 2 无 非空
专业班级 varchar 10 无 非空
出生日期 datetime 8 无 非空
联系电话 varchar 11 无 无
字段名 数据类型 长度或者精度 默认值 完整性约束
课程号 varchar 10 无 主键 非空
课程名 varchar 30 无 非空
学分数 float 6 无 非空
学时数 float 6 无 非空
任课教师 varchar 12 无 非空
字段名 数据类型 长度或者精度 默认值 完整性约束
课程号 varchar 12 无 非空
学号 varchar 12 无 非空
作业1成绩 int 2 无 非空
作业2成绩 int 2 无 无
作业3成绩 int 2 无 非空
2.使用Workbench和SQL命令在实验1创建的Mydb中建立学生表student、课程表course和学生作业表sc,在实验报告中给出SQL代码。
学生表student
create table if not exists student(
`id` varchar(10) not null primary key comment'学号',
`name` varchar(12) not null comment'姓名',
`sex` enum('男','女') not null comment'性别',
`class` varchar(10) not null comment'专业班级',
`birthday` datetime not null comment'出生日期',
`phone` varchar(12) comment'联系电话'
)engine=innodb default charset=utf8 comment='学生表';
课程表course
create table if not exists course(
`course_id` varchar(10) not null primary key comment'课程号',
`name` varchar(30) not null comment'课程名',
`score` float not null comment'学分数',
`period_num` float not null comment'学时数',
`teacher` varchar(12) not null comment'任课教师'
)engine=innodb default charset=utf8 comment'课程表';
学生作业表sc
create table if not exists sc(
`course_id` varchar(12) not null comment'课程号',
`student_id` varchar(12) not null comment'学号',
`work1_score` int not null comment'作业1成绩',
`work2_score` int comment'作业2成绩',
`work3_score` int not null comment'作业3成绩'
)engine=innodb default charset=utf8 comment'学生作业表';
3.修改表结构
(1)使用Alter Table命令修改表2.1结构,使其增加一列“系别”。
alter table student add column series varchar(20) not null comment'系列';
(2)使用Workbench工具删除刚刚增加的一列“系别”。

4.删除表格
(1)使用Workbench工具删除表2.3学生作业表sc。
(2)使用Drop Table命令删除表2.2课程表course。
drop table course;
更多推荐


所有评论(0)