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(20) not null primary key,
Sname char(20) null,
Ssex char(2) null CHECK(Ssex='男' OR Ssex='女'),
Sbirthday datetime default GetDate(),
)
![]()
--创建学生课程表
--主要字段有课程编号,课程名称,学分
Create Table Course
(
Cno varchar(20) not null primary key,
Cname char(20) null,
Ccredit float default 0
)
![]()
--学生成绩表
--课程编号,学号,成绩其中课程编号参考课程表,学号参考学生表
Create Table SC
(
Sno varchar(20),
Cno varchar(20),
grade float
)
![]()
--为学生表中添加 籍贯、班级、专业字段
Alter Table Student
ADD
Native varchar(20) NULL,
Class varchar(20) NULL,
subject varchar(20) NULL
![]()
--修改出生日期字段,出生日期必须大于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(day, 1, @date)
end
要求 性别为男、女 出生日期默认为今天 其他字段自定
2. 学生课程表
同上课
3. 学生成绩表
同上课
4. 为学生表中添加 籍贯、班级、专业字段
5. 修改出生日期字段,出生日期必须大于1980年
6. 把学号字段重命名为原来名称前面加上stu_
7. 向学生表中加入1000条数据
学号 姓名 性别 出生日期
030y101001 student001 奇数为男
030y101999 sudent999 偶数为女 每次加一天
首先创建测试数据库:
Use master
Create DataBase myTest
GO然后执行:
Use myTest
--创建学生表
Create Table Student
(
Sno varchar(20) not null primary key,
Sname char(20) null,
Ssex char(2) null CHECK(Ssex='男' OR Ssex='女'),
Sbirthday datetime default GetDate(),
)
--创建学生课程表
--主要字段有课程编号,课程名称,学分
Create Table Course
(
Cno varchar(20) not null primary key,
Cname char(20) null,
Ccredit float default 0
)
--学生成绩表
--课程编号,学号,成绩其中课程编号参考课程表,学号参考学生表
Create Table SC
(
Sno varchar(20),
Cno varchar(20),
grade float
)
--为学生表中添加 籍贯、班级、专业字段
Alter Table Student
ADD
Native varchar(20) NULL,
Class varchar(20) NULL,
subject varchar(20) NULL
--修改出生日期字段,出生日期必须大于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(day, 1, @date)
end

浙公网安备 33010602011771号