新建数据库用户
运行前可用 “√”检查
删除模式ZHANG,同时该模式中定义的表TAB1也被删除
上一步新建的是TEST架构
去掉CASCADE
那么 我们可以先删除 TAB1 TABL2 再删除架构TEST
DROP TABLE TEST.TAB1;
DROP TABLE TEST.TAB2;
DROP SCHEMA TEST;
成功删除TEST
CREATE TABLE Student
(Sno CHAR(9) PRIMARY KEY,
Sname CHAR (20) UNIQUE,
Ssex CHAR (2),
Sage SMALLINT,
Sdept CHAR(20)
);
CREATE TABLE Course
(Cno CHAR(4) PRIMARY KEY,
Cname CHAR(40),
Cpno CHAR(4),
Ccredit SMALLINT,
FOREIGN KEY(Cpno) REFERENCES Course(Cno)
-- Cpno是外码 被参照表是Course 被参照列是Cno
);
CREATE TABLE SC
(Sno CHAR(9),
Cno CHAR(4),
Grade SMALLINT,
PRIMARY KEY (Sno,Cno),
FOREIGN KEY (Sno) REFERENCES Student(Sno),
FOREIGN KEY (Cno) REFERENCES Course(Cno)
);
ALTER TABLE Student ADD S_entrance DATE;
不管基本表中原来是否已有数据,新增加的列一律为空
ALTER TABLE Student ALTER COLUMN Sage INT;
ALTER TABLE Course ADD UNIQUE (Cname);
DROP TABLE Student CASCADE;
和上面删除模式一样 会出现
去掉CASCADE
与上面 一样 那么我们需要先处理 FOREIGN KEY
REF:SQL删除外键约束
用如下SQL语句查询出表中外键约束名称:
1 select name
2 from sys.foreign_key_columns f join sys.objects o on f.constraint_object_id=o.object_id
3 where f.parent_object_id=object_id('表名')
select name
from sys.foreign_key_columns f join sys.objects o on f.constraint_object_id=o.object_id where f.parent_object_id=object_id('SC')
删除外键约束
alter table SC drop constraint FK__SC__Sno__2C3393D0
alter table SC drop constraint FK__SC__Cno__2D27B809
再进行删除
建视图
CREATE VIEW IS_Course
AS
SELECT Cno,Cname
FROM Course
WHERE Ccredit='IS';
同样
DROP TABLE Course CASCADE;
会出现 CASCADE错误
与上一例题一样 删除外键约束
alter table Course drop constraint FK__Course__Cpno__29572725
再进行删除
DROP TABLE Course ;
查看视图 视图自动被删除
从例题12,11,4 可以体会到
感觉只是开了个小头就有好多东西需要学,网上查阅到T-Sql具有一些相对于sql的扩展功能
找到了一篇关于T-sql的,以便以后参考,