目录
表格
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