复习sql server数据库(一)

sql 创建表

use Text1
create table major
(
mno int,
mname varchar(10),
primary key (mno)
)
select * from major
​
create table stu(
sno int,--学号
sname varchar(10),
age smallint,
sex bit,
mno int,
primary key(sno),
foreign key(mno) references major(mno)
)
select * from stu
​
create table cou(
cno int,--课程号
cname varchar(10),
ctime smallint,
ccredit decimal (4,2),
primary key (cno)
​
)
​
create table sc(
sno int,
cno int,
grade decimal (5,2)
primary key(sno,cno),
foreign key (sno) references stu(sno),
​
​
)
--对sc表加一个外键
alter table sc add constraint fk_sc foreign key (cno) references cou(cno)
​
--添加的数据
insert into major(mno,mname) values(1,'计算机科学与技术');
insert into major(mno,mname) values(2,'软件工程');
insert into major(mno,mname) values(3,'网络工程');
insert into major(mno,mname) values(4,'智能科学与技术');
select * from stu
insert into stu values('2020001','小一',18,0,1);
insert into stu values('2020002','小二',18,1,1);
insert into stu values('2020003','小四',18,1,1);
insert into stu values('2020004','小五',18,1,1);
insert into stu values('2020005','小六',18,0,2);
insert into stu values('2020006','小七',18,1,2);
insert into stu values('2020007','小八',18,0,2);
insert into stu values('2020008','小九',18,1,2);
insert into stu values('2020009','小十',19,0,3);
insert into stu values('20200010','小十',20,0,3);
insert into stu values('20200011','小快',19,0,3);
insert into stu values('20200012','小冬',21,0,3);
insert into stu values('20200013','小宇',19,0,null);
insert into stu values('20200014','小点',19,0,4);
insert into stu values('20200015','彭杰',21,0,4);
insert into stu values('20200016','彭小杰',21,0,4);
select * from  cou
insert into cou values('20201','C语言',32,5);
insert into cou values('20202','C#',32,3);
insert into cou values('20203','数据结构',16,5);
insert into cou values('20204','大学英语1',32,3.5);
insert into cou values('20205','大学英语2',32,3.5);
insert into cou values('20206','大学英语3',32,3.5);
insert into cou values('20207','大学英语4',32,3.5);
select * from sc
insert into sc(sno,cno,grade) values('2020006','20201',null);
insert into sc(sno,cno,grade) values('2020005','20201',null);
insert into sc(sno,cno,grade) values('2020001','20201',90);
insert into sc(sno,cno,grade) values('2020002','20201',90);
insert into sc(sno,cno,grade) values('2020003','20201',90);
insert into sc(sno,cno,grade) values('2020004','20201',58);
insert into sc(sno,cno,grade) values('2020004','20202',98);
insert into sc(sno,cno,grade) values('2020004','20203',90);
insert into sc(sno,cno,grade) values('2020005','20203',90);
​
​

二、简单增删改

--插入
select *from major
insert into major(mno,mname) values(1,'计算机科学')
insert into major(mno,mname) values(2,'软件工程')
--也可以这样插入
select *from stu
insert into stu values(1,'cc',20,0,1)
​
--删除delete
delete from stu where sno=1
--删除major表中的一个专业
delete from major where mno=1-- 发生了冲突,有依赖关系
--要想删除,在别的表有外键的情况下置为null  用update更新
update stu set mno=null where mno=1
​
update stu set sname='cc' where mno=3

三、简单查询和order by语句

use test
--查询
select * from 学生
select distinct 学号,姓名 from 学生--防止重复
select 姓名,出生日期 from 学生 where 平均成绩<=99 and 平均成绩 >=95
select 姓名,出生日期 from 学生 where 平均成绩 between 94 and 100
select 姓名,出生日期 from 学生 where 姓名 like '陈%'
--order by 聚集函数
select * from 学生 order by 档案号--按照升序排列
select * from 学生 order by  档案号 desc --按照降序排列
select count(*) from 学生 --查找这种表里面有多少行
select count (distinct 姓名) from 学生--查找表里多少不重复的姓名
select avg(平均成绩) from 学生 where 班级号=2
select max(平均成绩) from 学生 where 班级号=2
select min(平均成绩) from 学生 where 班级号=1

四、多表查询

--多表查询
--等值连接 查询每个学生的信息和选修课程号的信息
select stu.*,sc.* from stu,sc where stu.sno=sc.sno
--查询选修了'20201'课程的学生的姓名
select sname from stu,sc where sc.cno='20201' and stu.sno=sc.sno
--查询每个学生的信息和选修课程的信息和学时
select stu.*,cname,ccredit  from stu,cou,sc where stu.sno=sc.sno and cou.cno=sc.cno
​
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值