山东信息职业技术学院实验报告
学号: 2015030838 姓名: 赵殿强 班级: 网络一班 同组者: 课程名称: 数据库原理及应用 指导老师: 孙灿 实验成绩: tno tname tsex tbirthday tdept char varchar char date char 3 8 2 16 否 是 是 是 是 主码 表4.22 teaching表(授课表)的表结构 字段名称 cno tno cterm
(2) 向表4.18至表4.22输入数据记录,见表4.23~表4.27。 表4.23 学生关系表student sno 20050101 20050201 20050301 20050202 sname 李勇 刘晨 王敏 张立 ssex 男 女 女 男 sbirthday 1987-01-12 1988-06-04 1989-12-23 1988-08-25 saddress 山东济南 山东青岛 江苏苏州 河北唐山 sdept 计算机工程系 信息工程系 数学系 信息工程系 speciality 计算机应用 电子商务 数学 电子商务 数据类型 char char tinyint 长度 5 3 1 小数位数 0 是否允许NULL值 否 否 是 说明 组合主码、外码 组合主码、外码 1~10 表4.24 课程关系表course
cno C01 C02 cname 数据库 数学 cno C03 C04 cname 信息系统 操作系统 表4.25 成绩表sc
sno 20050101 20050101 20050101 20050201 20050201 表4.26 教师表teacher
tno 101
cno C01 C02 C03 C02 C03 degree 92 85 88 90 80 tname 李新 tsex 男 tbirthday 1977-01-12 tdept 计算机工程系 6
山东信息职业技术学院实验报告
学号: 2015030838 姓名: 赵殿强 班级: 网络一班 同组者: 课程名称: 数据库原理及应用 指导老师: 孙灿 实验成绩: 102 201 202 钱军 王小花 张小青 女 女 男 1968-06-04 1979-12-23 1968-08-25 计算机工程系 信息工程系 信息工程系 表4.27 授课表teaching
cno C01 C02 C03 C04
(3) 修改表结构。
① 向student表中增加“入学时间”列,其数据类型为日期时间型。
tno 101 102 201 202 cterm 2 1 3 4 ALTER TABLE student ADD rxsj date AFTER saddress; Query OK, 4 rows affected Records: 4 Duplicates: 0 Warnings: 0 ② 将student表中的sdept字段长度改为20。
ALTER TABLE student MODIFY COLUMN sdept CHAR(20); Query OK, 0 rows affected Records: 0 Duplicates: 0 Warnings: 0 ③ 将student表中的speciality字段删除。
ALTER TABLE student drop speciality; Query OK, 4 rows affected Records: 4 Duplicates: 0 Warnings: 0 ④ 删除student表。
[Err] 1217 - Cannot delete or update a parent row: a foreign key constraint fails; 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[Err] 1217 - Cannot delete or update a parent row: a foreign key constraint fail' at line 1 (4) 利用SQL命令(create table、alter table、drop table)完成对表的操作 ①利用create talbe 命令完成student表和course表的定义。
创建student表; CREATE TABLE sudent (
7
山东信息职业技术学院实验报告
学号: 2015030838 姓名: 赵殿强 班级: 网络一班 同组者: 课程名称: 数据库原理及应用 指导老师: 孙灿 实验成绩: sno CHAR(10) NOT NULL, sname VARCHAR(8), ssxe CHAR(2), sbirthday datetime, sddress VARCHAR(50), sdept CHAR (16), speciality VARCHAR(20), CONSTRAINT PRIMARY KEY (sno) ); 创建course表 CREATE TABLE course ( cno CHAR(5) NOT NULL, cname VARCHAR(20) NOT NULL, CONSTRAINT PRIMARY KEY (cno) );
②利用drop table命令实现(3)中的④。
DROP TABLE student; 四、思考题
(1) MySQL中的数据文件有几种?扩展名分别是什么? Fm, myd myi三种
(2) 在定义基本表语句时,NOT NULL参数的作用是什么?
不接受空值
(3) 主码可以建立在“值可以为NULL”的列上吗?
五、实验总结:
1、收获
8
山东信息职业技术学院实验报告
学号: 2015030838 姓名: 赵殿强 班级: 网络一班 同组者: 课程名称: 数据库原理及应用 指导老师: 孙灿 实验成绩:
2、存在的问题
9
山东信息职业技术学院实验报告
学号: 2015030838 姓名: 赵殿强 班级: 网络一班 同组者: 课程名称: 数据库原理及应用 指导老师: 孙灿 实验成绩: 实验三 简单查询——单表无条件和有条件查询
一、实验目的
(1) 掌握SELECT语句的基本用法。 (2) 使用WHERE子句进行有条件的查询。
(3) 掌握使用IN和NOT IN,BETWEEN?AND和NOT BETWEEN?AND来缩小查询范围的方法。 (4) 利用LIKE子句实现字符串匹配查询。
二、实验要求
1、学生提前准备好实验报告,预习并熟悉实验步骤; 2、遵守实验室纪律,在规定的时间内完成要求的内容; 3、1~2人为1小组,实验过程中独立操作、相互学习。
三、实验内容及步骤
在上次实验建立的Gradem或Gradem1数据库中完成下面查询:
(1) 查询所有学生的基本信息、所有课程的基本信息和所有学生的成绩信息(用三条SQL语句)。
(2) 查询所有学生的学号、姓名、性别和出生日期。
(3) 查询所有课程的课程名称。
(4) 查询前10门课程的课号及课程名称。
(5) 查询所有学生的姓名及年龄。
(6) 查询所有年龄大于18岁的女生的学号和姓名。
(7) 查询所有男生的信息。
(8) 查询所有任课教师的姓名(Tname)和所在系别(Tdept)。
(9) 查询“电子商务”专业的学生姓名、性别和出生日期。
(10) 查询Student表中的所有系名。
10