完整版专升本数据库练习题及答案.docx

上传人:b****3 文档编号:2290578 上传时间:2022-10-28 格式:DOCX 页数:24 大小:24.05KB
下载 相关 举报
完整版专升本数据库练习题及答案.docx_第1页
第1页 / 共24页
完整版专升本数据库练习题及答案.docx_第2页
第2页 / 共24页
完整版专升本数据库练习题及答案.docx_第3页
第3页 / 共24页
完整版专升本数据库练习题及答案.docx_第4页
第4页 / 共24页
完整版专升本数据库练习题及答案.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

完整版专升本数据库练习题及答案.docx

《完整版专升本数据库练习题及答案.docx》由会员分享,可在线阅读,更多相关《完整版专升本数据库练习题及答案.docx(24页珍藏版)》请在冰豆网上搜索。

完整版专升本数据库练习题及答案.docx

完整版专升本数据库练习题及答案

一.关系代数运算

1.选择σ

(1)查询年龄小于20岁的学生

σsage<20(student)

(2)查询学号为*********的学生

σsno=201215122(student)

2.投影

(1)查询学生姓名,和所在系

same,sdept(student)

(2)查询选修了2号课程的学生学号

sno(σcno=‘2’2(student))

SQL语句

学生-课程数据库

学生表:

学生(学号,姓名,性别,年龄,所在系)

课程表:

课程(课程号,课程名,先行课,学分)

学生选课表:

选课(学号,课程号,成绩)

二.创建数据库SQL

1.创建数据库

Createdatabase数据库名

On

(name=逻辑文件名,

Filename=’物理文件名’,

Size=初始文件大小,

Maxsize=最大文件大小,

Filegrowth=文件自动增量)

Logon

(name=逻辑文件名,

Filename=‘物理文件名’,

Size=初始文件大小,

Maxsize=最大文件大小,

Filegrowth=文件自动增量)

例创建‘教务管理数据库’

Createdatabase教务管理数据库

On

(name=教务管理_dat,

Filename=‘E:

\SQL\教务管理_dat.mdf’,

Size=2,

Filegrowth=1)

Logon

(name=教务管理.log,

Filename=‘E:

\SQL\教务管理_log.ldf’,

Size=5M,

Filegrowth=10%)

1.查看数据库属性

1)使用sp_helpdb查看数据库信息:

sp_helpdb[数据库名]

(2)使用sp_databases查看可使用的数据库信息:

sp_databases(显示所有可以使用的数据库名称和大小)

(3)使用sp_helpfile查看数据库文件信息

sp_helpfile[文件名]

1.设置数据库选项

Alterdatabase数据库名

Set选项

例设置教务管理数据库自动收缩

Alterdatabase教务管理数据库

Setauto_shrinkon(自动收缩)

1.修改数据库大小

Alterdatabase数据库名

Addfile增加数据文件

Addlogfile增加日志文件

Removefile删除文件

Modifyfile修改文件()

例1.修改教务管理数据库,增加数据文件jwgl_dat1

Alterdatabase教务管理数据库

Addfile(

Name=jwgl_dat1,

Filename=‘E:

\SQL\jwgl_dat1.ndf’,

Size=2MB,

Filegrowth=1MB)

2.修改教务管理数据库

Alterdatabase教务管理数据库

Modifyfile(

Name=jwgl_dat1,

Size=5MB)

2.删除教务管理数据库中次要数据文件jwgl_dat1

Alterdatabase教务管理数据库

Removefilejwgl_dat1

1.数据库更名

1)更改数据库名

Alterdatabase数据库名

Modifyname=新数据库名

例将数据库test更名为mytest

Alterdatabasetest

Modifyname=mytest

1)更改数据库的逻辑文件名

Alterdatabase数据库名

Modifyfile(

Name=逻辑文件名,

Newname=新逻辑文件名)

例将数据库逻辑文件test更名为mytest

Alterdatabasemytest

Modifyfile(

Name=test,

Newname=mytest)

Go

Alterdatabasemytest

Modifyfile(

Name=test_log,

Newname=mytest_log)

1)更改数据库的物理文件名

Alterdatabase数据库名

Modifyfile(

Name=逻辑文件名,

Filename=‘新路径\操作系统文件名’)

 

例将数据库物理文件test更名为mytest

Alterdatabasemytest

Modifyfile(

Name=mytest,

Filename=‘E:

\sql\mytest.mdf’)

GO

Alterdatabasemytest

Modifyfile(

Name=mytest_log,

Filename=‘E:

\sql\mytest_log.ldf’)

1.删除数据库

Dropdatabase数据库名

例删除数据库名为test和数据库sales

Dropdatabasetest,sales

1.数据库分离

Sp_detach_db数据库名

1.数据库附加

Createdatabase数据库名

On(

Filename=‘主文件的物理文件名’

)Forattach

 

三.基本表操作

1.创建表

Createtable表名

例创建一个学生表

Createtable学生表

(学号char(6)primarykey,

姓名char(20)unique,

性别char

(2),

年龄smallint,

所在系char(20)

1.修改表

Altertable表名

Add列名数据类型()//增加列

(altercolumn列名数据类型()//对原有的基础上修改列)

(dropcolumn列名//对原有的基础上删除列,可一次删除多列)

例1.添加一新列电子邮箱char型长度20

Altertable学生表

Add电子邮箱char(20)

例2.修改学生表列电子邮箱数据类型长度为22

Altertable学生表

altercolumn电子邮箱varchar(22)

例3.删除学生表的电子邮箱列

Altertable学生表

dropcolumn电子邮箱

3.删除表

Droptable表名

例删除学生表

Droptable学生表

 

四.数据更新

1.插入数据

Insert

Into表名()

Values值()

例1插入一行数据到学生表的学生

Insert

Into学生表(学号,姓名,性别,年龄,所在系)

Values(‘201215126’,‘张成民’,‘男’,18,‘计算机系’)

1.修改数据

Update表名

Set列名=表达式

Where条件

1)修改某元祖的值

例将学生201215121的年龄改为22

Update学生表

Set年龄=22

Where学号=‘201215121‘

1)修改多个元祖的值

例将所有学生年龄增加一岁

Update学生表

Set年龄=年龄+1

1)带子查询的修改语句

例将计算机科学系全体学生成绩置零

Update选课表

Set成绩=0

Where学号in

(select学号

From学生表

Where所在系=‘计算机科学系’)

1)修改表名

Sp_rename旧对象名,新对象名

例课程表更名为课程信息表

Sp_rename课程表,课程信息表

3.删除数据

Delete

from表名

Where条件

例将课程信息表中c程序设计课程信息删除

Delete

From课程信息表

Where课程名=‘c程序设计’

 

五.使用约束

1.非空约束(NOTNULL)

例创建一个学生表使姓名,性别为非空约束学号为主键

Createtable学生表

(学号char(6)primarykey,

姓名char(20)NOTNULL,

性别char

(2)NOTNULL,

年龄smallint,

所在系char(20)

1.唯一约束(UNIQUE)

例创建一个学生表使姓名,性别为唯一约束学号为主键

Createtable学生表

(学号char(6)primarykey,

姓名char(20)UNIQUE,

性别char

(2)UNIQUE,

年龄smallint,

所在系char(20)

1.Check约束(检查列值是否满足一个条件表达式)

1.完整性约束命令子句

Constraint完整性约束条件名(包括非空主键唯一外键check约束等)约束条件

例1创建一个学生表使性别只允许为‘男’或‘女’,年龄在20到30之间

Createtable学生表

(学号char(6)primarykey,

姓名char(20)UNIQUE,

性别char

(2)CHECK((性别=‘男’)or(性别=‘女’)),

年龄smallintCHECK(年龄between20and30),

所在系char(20)

2利用T-SQL命令设置课程表中的考核方式只能取值‘考试’或‘考查’,学分的值为1-6之间

Altertable课程表withcheck

AddconstraintCK_课程表_1check(考核方式in(‘考查’,‘考试’))

Altertable课程表withnocheck

AddconstraintCK_课程表_2check(学分between1and6)

 

1.主键约束(PRIMARYKEY)

例创建一个学生表使姓名,性别为唯一约束学号为主键

Createtable学生表

(学号char(6)primarykey,(在列定义后设置主键)

姓名char(20)UNIQUE,

性别char

(2)UNIQUE,

年龄smallint,

所在系char(20)

1.外键约束(FOREIGNKEY)

Constraint约束名FOREIGNKEY(列名)

Reference被引用表(列名)

[ondeletecascade(级联删除)|onupdatecascade(级联更新)]

例创建选课表设置选课表的课程号为外键引用课程表课程号

Createtable选课表

(学号char(6)primarykey,

课程号char(11)Reference课程表(课程号)onupdatecascade,

成绩numeric(5,1)

7.默认约束(DEFAULT)

Constraint约束名DEFAULT常量表达式可在创建表中数据类型后直接加

例修改课程表设置考核方式默认值为‘考试’

Altertable课程表

Addconstraintdf_课程表_考核DEFAULT‘考试’)for考核方式

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 笔试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1