上机测试题1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库名:通学录
同学表(学号 char(6),姓名,性别,年龄,民族,身份证号,宿舍号)
宿舍表(宿舍号 char(6),宿舍电话)
用SQL语言实现下列功能的sql语句代码:
1.创建数据库[通学录]代码。保存在d:\sql文件夹下
create database同学录
on primary
(name=同学录_data,
filename='E:\sql1\同学录.mdf',
size=3mb,
maxsize=8mb,
filegrowth=10%
)
log on
(name=同学_log,
filename='E:\sql1\同学录.ldf',
size=2mb,
maxsize=unlimited,
filegrowth=1mb
)
2.创建数据表[宿舍表]代码;
宿舍表(宿舍号 char(6),宿舍电话)
要求使用:主键(宿舍号)
use同学录
go
create table宿舍表
(宿舍号char(6)primary key,
宿舍电话char(11)
)
3.创建数据表[同学表]代码;
同学表(学号 char(6),姓名,性别,年龄,民族,身份证号,宿舍号)
要求使用:主键(学号)、外键(宿舍号)、默认(民族默认为“汉族”)、非空(民族,姓名,年龄)、唯一(身份证号)、检查约束(性别为‘男’或‘女’)
use同学录
go
create table同学表
(学号char(6)primary key,
姓名char(10)not null,
性别char(2),
年龄int not null,
民族char(30)not null default'汉族',
身份证号char(21),
宿舍号char(6),
foreign key(宿舍号)references宿舍表(宿舍号), unique(身份证号),
check(性别='男'or性别='女')
)
4.将下列宿舍信息添加到宿舍表的代码
宿舍号宿舍电话
101 6331157
102 6331777
修改宿舍号为101的宿舍电话:6331158
删除宿舍号为102的宿舍信息
use同学录
go
insert宿舍表(宿舍号,宿舍电话)
values(101,6331157)
use同学录
go
insert宿舍表(宿舍号,宿舍电话)
values(102,6331777)
use同学录
go
update宿舍表
set宿舍电话='6331158'
where宿舍号='101'
use同学录
go
delete宿舍表
where宿舍号='102'
5.多表查询;
查询所有同学的学号, 姓名, 性别, 年龄, 民族, 身份证号, 宿舍号, 宿舍电话
select宿舍表.宿舍号,同学表.姓名,同学表.性别,同学表.民族,同学表.身份证号,同学表.学号,宿舍表.宿舍电话
from同学表,宿舍表
where同学表.宿舍号=宿舍表.宿舍号
6.查询姓张的女同学的姓名、性别、宿舍电话。
select同学表.姓名,同学表.性别,宿舍表.宿舍电话
from同学表,宿舍表
where性别='女'and姓名like'刘%'
7.从同学表中查询女同学的最大年龄、最小年龄、平均年龄。]
select max(年龄)'最大年龄',min(年龄)'最小年龄',avg(年龄)'平均年龄'
from同学表
where性别='女'
8.创建带参数的存储过程[某宿舍同学]:姓名, 性别, 宿舍电话
执行此过程,查询'101'宿舍情况
9、创建一触发器,如果删除宿舍,则提示“不能删除!”
use同学录
go
create trigger check_delete
on database
for drop_table
as
begin
print'不能删除!'
rollback
end