SQL实验三

1. 创建学生表
    要求 性别为男、女   出生日期默认为今天  其他字段自定
2. 学生课程表
    同上课
3.
学生成绩表
     
同上课
4.
为学生表中添加 籍贯、班级、专业字段
5.
修改出生日期字段,出生日期必须大于1980
6.
把学号字段重命名为原来名称前面加上stu_
7.
向学生表中加入1000条数据
学号      姓名     性别            出生日期
030y101001  student001   
奇数为男      1980-1-1
030y101999  sudent999  
偶数为女       每次加一天 

首先创建测试数据库:
Use master
Create DataBase myTest
GO

然后执行:
Use myTest
--创建学生表
Create Table Student
(
    Sno 
varchar(20not null primary key,
    Sname 
char(20null,
    Ssex 
char(2null    CHECK(Ssex='' OR Ssex=''),
    Sbirthday 
datetime default GetDate(),
)

--创建学生课程表
--
主要字段有课程编号,课程名称,学分
Create Table Course
(
    Cno 
varchar(20not null primary key,
    Cname 
char(20null,
    Ccredit 
float default 0
)

--学生成绩表
--
课程编号,学号,成绩其中课程编号参考课程表,学号参考学生表
Create Table SC
(
    Sno 
varchar(20),
    Cno 
varchar(20),
    grade 
float
)

--为学生表中添加 籍贯、班级、专业字段
Alter Table Student
ADD
    Native 
varchar(20NULL,
    Class 
varchar(20NULL,
    subject 
varchar(20NULL

--修改出生日期字段,出生日期必须大于1980年
Alter Table Student
ADD Constraint check_Sbirthday check (Year(Sbirthday) >= '1980')

--把学号字段重命名为原来名称前面加上stu_
EXEC sp_rename   
'Student.[Sno]','stu_Sno','COLUMN'   


--向学生表中加入1000条数据
--
    学号         姓名        性别          出生日期
--
030y101001  student001   奇数为男       1980-1-1
--
030y101999  sudent999    偶数为女       每次加一天 
declare @i as int,@Num as varchar(4),@date as datetime
set @i = 0
set @date = '1980-1-1'
while(@i <999)
begin
    
set @i = @i + 1
    
Set @Num = Convert(varchar(4),1000+@i)
--    print '030y10' + @Num
    INSERT INTO [Student]
    (
[stu_Sno],[Sname],[Ssex],[Sbirthday])
    
VALUES
    (
    
'030y10' + @Num
    ,
'student' + Right(@Num,3)
    ,
Case @i % 2 When 0 Then '' Else '' END
    ,
@date
    )
    
set @date = DATEADD(day1@date)
end
posted @ 2008-05-25 16:20  ajayumi  阅读(325)  评论(0)    收藏  举报