数据库原理及应用实训报告文档格式.docx
- 文档编号:16576139
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:43
- 大小:80.24KB
数据库原理及应用实训报告文档格式.docx
《数据库原理及应用实训报告文档格式.docx》由会员分享,可在线阅读,更多相关《数据库原理及应用实训报告文档格式.docx(43页珍藏版)》请在冰豆网上搜索。
使用T-SQL语句删除数据库test
dropdatabasetest数据库
实验2表操作
1.创建表:
操作2.1:
创建学生表:
表名:
student
说明:
学生基本信息表
属性列
数据类型
长度
空值
列约束
说明
st_id
nVarChar
9
NotNull
PK
学生学号
st_nm
8
学生姓名
st_sex
2
Null
学生性别
st_birth
datetime
出生日期
st_score
int
入学成绩
st_date
入学日期
st_from
nChar
20
学生来源
st_dpid
所在系编号
st_mnt
tinyint
学生职务
usetest数据库
createtablestudent
st_idnvarchar(9)notnullprimarykey,
st_nmnvarchar(8)notnull,
st_sexnvarchar
(2),
st_birthdatetime,
st_scoreint,
st_datedatetime,
st_fromnchar(20),
st_dpidnvarchar
(2),
st_mnttinyint
操作2.2:
创建课程信息表:
couse
课程信息表
cs_id
4
课程编号
cs_nm
课程名称
cs_tm
课程学时
cs_sc
课程学分
createtablecouse
cs_idnvarchar(4)notnullprimarykey,
cs_nmnvarchar(20)notnull,
cs_tmint,
cs_scint
操作2.3:
创建选课表:
slt_couse
选课表
FK
学生编号
score
课程成绩
sltdate
选课日期
createtableslt_couse
cs_idnvarchar(4)notnull,
st_idnvarchar(9)notnull,
scoreint,
sltdatedatetime
altertableslt_couse
addconstraintfk_cs_id
foreignkey(cs_id)
referencescouse(cs_id)
addconstraintfk_st_id
foreignkey(st_id)
referencesstudent(st_id)
操作2.4:
创建院系信息表:
dept
院系信息表
dp_id
系编号
dp_nm
院系名称
dp_drt
院系主任
dt_tel
12
联系电话
createtabledept
dp_idnvarchar
(2)notnull,
dp_nmnvarchar(20)notnull,
dp_drtnvarchar(8),
dt_telnvarchar(12)
2.修改表结构:
(1)向表中添加列:
操作2.5:
为“dept”表添加“dp_count”列(数据类型为nvarchar,长度为3,允许为空)
altertabledept
adddp_countnvarchar(3)
(2)修改列数据类型:
操作2.6:
修改“dept”表的“dp_count”列数据类型为int
altercolumndp_countint
(3)删除表中指定列:
操作2.7:
删除“dept”表的“dp_count”列
dropcolumndp_count
3.删除表
操作2.8:
删除“dept”表
droptabledept
4.向表中输入数据记录
操作2.9:
分别向“student”表、“couse”表、“slt_couse”表、“dept”表中输入数据记录
insertstudent
values('
000000001'
'
小二'
男'
1991-01-01'
89'
2011-09-01'
广东'
10'
1'
000000002'
小三'
1991-01-02'
79'
12'
000000003'
小四'
女'
1991-01-03'
69'
8'
000000004'
小六'
1991-04-01'
59'
13'
000000005'
小七'
1991-01-11'
11'
Go
insertcouse
0001'
计算机网络'
72'
2'
0002'
c语言程序设计'
0003'
SQL数据库'
0004'
计算机导论'
0005'
高级数学'
insertslt_couse
2011-10-12'
92'
62'
82'
52'
insertdept
艺术系'
王大仁'
12345768'
9'
建筑系'
李小仁'
12645678'
信息系'
李大仁'
12349878'
管理系'
王小仁'
16345678'
外语系'
王小明'
14512678'
实验3数据完整性
1.空值约束(NULL)
操作3.1:
将student表中的st_sex列属性更改为NOTNULL
altertablestudent
altercolumnst_sexnvarchar
(2)notnull
2.默认值约束(DEFAULT)
操作3.2:
将student表中的st_from列默认值设置为“陕西省”
addconstraintdf_from
default'
陕西省'
forst_from
3.默认值对象
操作3.3:
创建默认值对象df_today为当前日期,并将其绑定到slt_couse表中的sltdate列,然后取消绑定,最后删除默认值对象df_today。
createdefaultdf_todayas'
2014-12-30'
execsp_bindefault'
df_today'
slt_couse.[sltdate]'
execsp_unbindefault'
dropdefaultdf_today
4.检查约束(CHECK)
操作3.4:
将slt_couse表中的score列的检查约束设置为>
=0且<
=100
addconstraintck_score
check(score>
=0andscore<
=100)
5.规则约束对象
操作3.5:
创建规则约束对象rl_sex,用于检查性别的取值仅限于“男”和“女”,并将其绑定到student表中的st_sex列,然后取消绑定,最后删除规则约束对象rl_sex。
createrulerl_sexas
@sex='
or@sex='
execsp_bindrule'
rl_sex'
'
student.st_sex'
execsp_unbindrule'
droprulerl_sex
6.主键
操作3.6:
将dept表中的dp_id列设置为主键
addconstraintpk_dp_id
primarykey(dp_id)
7.唯一性约束(UNIQUE)
操作3.7:
将dept表中的dp_nm列设置为唯一性约束
addconstraintix_nm
unique(dp_nm)
8.标识列
操作3.8:
向slt_couse表中添加标识列id,第1行默认值为1,相邻两个标识列间的增量为1
addidintIDENTITY(1,1)notnull
9.外键(FOREIGNKEY)
操作3.9:
被参照表为dept,参照表为student
addconstraintfk_dpid
foreignkey(st_dpid)
referencesdept(dp_id)
实验4数据更新
1.表中插入数据
操作4.1:
向dept表插入一条记录,系号11,系名自动控制系,系主任为李其余,电话81234567
自动控制系'
李其余'
81234567'
操作4.2:
向student表插入一条记录,学号070201001,姓名为王小五,性别为男,出生日期1990年9月9日,系号为11,其余字段为NULL或默认值
insertstudent(st_id,st_nm,st_sex,st_birth,st_dpid)
070201001'
王小五'
1990-9-9'
操作4.3:
向couse表插入一条记录,课程号1234,课程名为操作系统,其余字段为NULL或默认值
insertcouse(cs_id,cs_nm)
1234'
操作系统'
操作4.4:
向slt_couse表插入一条记录,课程号1234,学名070201001,其余字段为NULL或默认值
insertslt_couse(cs_id,st_id)
2.修改表中数据
操作4.5:
修改student表记录,将王小五的入学成绩改为88
updatestudent
setst_score='
88'
wherest_nm='
操作4.6:
修改couse表记录,将所有记录的学分改为4,学时改为64
updatecouse
setcs_sc='
4'
cs_tm='
64'
操作4.7:
修改slt_couse表记录,将课程号为1234,学名为070201001的记录的成绩改为77
updateslt_couse
setscore=77
wherecs_id='
andst_id='
3.删除表中数据
操作4.8:
删除slt_couse表记录,将课程号为1234,学名为070201001的记录删除
deleteslt_couse
操作4.9:
删除couse表记录,将课程号为1234的记录删除
deletecouse
实验5数据查询
(1)——简单查询
(1)查询表中所有的列
操作5.1:
查询所有系的信息
select*
fromdept
(2)查询表中指定列的信息
操作5.2:
查询所有的课程号与课程名称
selectcs_id,cs_nm
fromcouse
(3)在查询列表中使用列表达式
操作5.3:
在查询student表时使用列表达式:
入学成绩+400
selectst_score+400
fromstudent
(4)重新命名查询结果
操作5.4:
使用AS关键字为dept表中属性指定列名:
系号、系名、系主任、联系电话
selectdp_idas'
系号'
dp_nmas'
系名'
dp_drtas'
系主任'
dt_telas'
联系电话'
操作5.5:
使用"
="
号为couse表中属性指定列名:
课程号、课程名、学时(=cs_sc*16)、学分
select'
课程号'
=cs_id,'
课程名'
=cs_nm,'
学时=cs_sc*16'
=cs_tm,'
学分'
=cs_sc
(5)增加说明列
操作5.6:
查询dept表的系号、系名和系主任,向查询结果中插入说明列:
系号、系名和系主任
selectdp_id'
dp_nm'
dp_drt'
(6)查询列表中使用系统函数
操作5.7:
显示所有学生的学号、姓名、性别和入学年份
selectst_id,st_nm,st_sex,datepart(yy,st_date)'
入学年份'
操作5.8:
显示所有学生学号、姓名、性别和班级(学号前6位)
selectleft(st_id,6)'
班级'
st_nm,st_sex,st_dpid
(7)消除查询结果中的重复项
操作5.9:
显示所有学生班级
selectdistinctleft(st_id,6)'
(8)取得查询结果的部分行集
操作5.10:
显示前5条学生记录信息
selecttop5*
操作5.11:
显示前25%条学生记录信息
selecttop25percent*
操作5.12:
显示前n条学生记录信息,n为局部变量
declare@nint
set@n=5
selecttop@n*
实验6数据查询
(2)——条件查询
1.使用关系表达式表示查询条件
操作6.1:
查询dept表中系号为11的院系信息
wheredp_id='
操作6.2:
查询student表中11系的学生学号、姓名、性别和所在系编号
selectst_id,st_nm,st_sex,st_dpid
wherest_dpid='
操作6.3:
查询student表中2008年及以后入学的学生信息
wheredatepart(yy,st_date)>
='
2008'
操作6.4:
在查询student表080808班学生的学号、姓名、性别和入学成绩
selectleft(st_id,6),st_nm,st_sex,st_score
whereleft(st_id,6)='
080808'
2.使用逻辑表达式表示查询条件
操作6.5:
查询student表中非11系的学生信息
wherenot(st_dpid='
操作6.6:
查询选修了1002号课程且成绩在60以下的学生学号
selectst_id
fromslt_couse
1002'
andscore<
60
操作6.7:
查询2007年入学的11系所有男生信息
wherest_dpid='
andst_sex='
anddatepart(yy,st_date)='
2007'
操作6.8:
查询11系和12系的学生信息
orst_dpid='
操作6.9:
查询11系和12系所有2007年入学的学生信息
where(st_dpid='
anddatep
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 应用 报告