上机测试题1

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档