SQL数据库复习

创建数据库

create database Students
on primary
(
name="Students_data",
filename="d:\Students_data.mdf",
size=5,
maxsize=50,
filegrowth=1)
log on
(
name="Students_log",
filename="d:\Students_log.ldf",
size=1,
filegrowth=10%
)
go

创建表

USE Students
go
create table StuInfo
(
StuID int not null,
StuName char(10) not null,
StuSex bit not null,
StuAge int not null,
)
go
create table StuExam
(
CourseNO int not null,--课程号
StuID int not null,
Score int not null,
)
go
create table CourseInfo
(
CourseNO int not null,
CourseName char(20) not null,
Marks int not null
)
go

建立约束

alter table StuInfo
add constraint PK_StuIN primary key(StuID)
alter table StuInfo
add constraint DF_StuSex default(1) for StuSex
alter table StuInfo
add constraint CK_StuAge check (StuAge>=15 and StuAge<=50)
go 
alter table CourseInfo
add constraint PK_CourseNO primary key(CourseNO)
alter table CourseInfo
add constraint UQ_CourseName unique (CourseName)
alter table CourseInfo
add constraint CK_Marks check (Marks>=1 and Marks<=5)
alter table CourseInfo
add constraint DF_Marks default(1) for Marks
go
alter table StuExam
add constraint FK_Course Foreign Key(CourseNO) references CourseInfo(CourseNO)
alter table StuExam
add constraint FK_StuID Foreign Key(StuID) references StuInfo(StuID)
alter table StuExam
add constraint CK_Score check (Score>=0 and Score<=100)
go

插入

insert into StuInfo(StuID,StuName,StuSex,StuAge) values(1,'猪八戒',1,20)
insert into CourseInfo(CourseNO,CourseName,Marks) values(1,'心理学',3)
insert into StuExam(CourseNO,StuID,Score)values(1,1,75)
insert into StuInfo(StuID,StuName,StuSex,StuAge) values(2,'张三',0,20)
insert into CourseInfo(CourseNO,CourseName,Marks) values(2,'数学',3)
insert into StuExam(CourseNO,StuID,Score)values(1,2,85)
insert into StuInfo(StuID,StuName,StuSex,StuAge) values(3,'理石',0,20)
insert into CourseInfo(CourseNO,CourseName,Marks) values(3,'计算机',4)
insert into StuExam(CourseNO,StuID,Score)values(2,1,65)


insert StuInfo(StuID,StuName,StuSex,StuAge) 
select 4,'孙悟空',1,20 union
select 5,'沙僧',1,20 union
select 6,'悟净',1,20 
go

查询

select * from StuInfo
select * from StuExam
select * from CourseInfo
go
select * from StuInfo where StuSex=0
go


select StuID from StuExam group by StuID having min(score)>=60


select StuID from StuExam group by StuID having count(StuID)>=2


select StuID from StuInfo where StuID not in(select StuInfo.StuID From StuInfo,StuExam where StuInfo.StuID=StuExam.StuID)


select StuExam.StuID from StuInfo,StuExam where StuInfo.StuID=StuExam.StuID group by StuExam.StuID having Sum(score)>100


修改

update StuExam set Score=Score+5 where Score between 65 and 75


删除

delete from StuExam where Score<=80


Alter Table 用法:


ALTER table StuExam add Stu int
ALTER TABLE StuExam change StuExam to Atu
ALTER TABLE StuExam modify Stu char
ALTER table StuExam  alter column Stu char


alter table StuExam drop Stu 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值