SQL基本操作

目录

表格

视图:


表格

create database test

-- 创建学生表 Student
create table Student(Sno char(12) primary key,
					 Sname char(8) unique,
					 Age smallint,
					 Sex char(2))
					 
-- 创建学生选课表 Sc
create table Sc(Sno char(12),
				Cno char(4),
				Grade smallint,
				Primary key(Sno,Cno))
				
					 
-- 创建课程表 Course
create table Course(Cno char(6),
					Cname char(20) not null,
					Teacher char(8))
-- 删除表 Course
drop table Course

--在SC表中,建立外码约束,
--Sno是外码,被参照表是Student(sno);
alter table Sc
add foreign key(Sno) references  Student(Sno)

					 
-- 增加列
alter table Student
add Sdept char(8) not null

-- 删除列
alter table Student
drop column Age

-- 修改列
alter table Student
alter column Sex char(4) not null

-- 增加约束条件
alter table Student
add unique(Sex)

-- 删除约束条件
alter table Student
drop constraint UQ__Student__CA1E3C800519C6AF

-- 在student表上建立关于属性Sno的唯一索引
create unique index Stusno on Student(Sno)

-- 向表中插入数据
insert 
into Student 
values ('1', '张天', '男', '计算机')

-- 查看Student表的信息
select * from Student

-- 如果在student表中删除’202001020101’这条记录
-- 删除列、表 用drop , 删除元组(具体的信息)用delete
delete
from Student
where Sno = '202001020101' 


-- 给Student表添加 “入学时间”列,数据类型为日期类
alter table Student
add S_entrance date


-- 将年龄的数据类型由字符型改为整型
alter table Student
alter column Sage int

-- 增加约束条件
-- 增加学号必须取唯一值的约束条件
alter table Student
add unique(Sno)

视图

        把视图也当做表格来处理。

--创建一个视图,统计每位学生的选课门数,要求输出学号、选课门数

-- 查看表,方便插入数据
select * from Student
select * from Sc;

go        -- 视图名      列表名
create view Num_course(Sno,Num_course)
as
select Sno,COUNT(*)
from Sc
group by Sno
go

-- 在学生选修课程之前,一定要有课程才行,这就是外码的作用!!!
-- 插入课程以及两个学生的选修课表
insert
into Course
values ('1','os','王老师'),
	   ('2','cs','刘老师')
-- 2号学生
insert
into Sc
values ('202001020102','1',80),('202001020102','2',90)
-- 3号学生
insert
into Sc
values ('202001020103','1',95)
-- 查看视图
select * from Num_course



-- 创建一个学生选课视图,要求输出学号、姓名、课程名
go
create view Course_Student(学号,姓名,课程名)
as
select Student.Sno,Sname,Cname
from Student,Sc,Course
where Student.Sno = Sc.Sno and Sc.Cno = Course.Cno
go

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xingxg.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值