Sql Server 02
模式的定义与删除
准备工作
新建数据库用户
例题
[例3.1] 为用户WANG定义一个学生-课程模式S-T
运行前可用 “√”检查
[例3.2] CREATE SCHEMA AUTHORIZATION WANG;
语句并没有创建架构
通过查看T-sql中的schema 知
[例3.3]为用户ZHANG创建了一个模式TEST,并且在其中定 义一个表TAB1:
[例3.4] DROP SCHEMA WANG CASCADE;
删除模式ZHANG,同时该模式中定义的表TAB1也被删除
上一步新建的是TEST架构
去掉CASCADE
那么 我们可以先删除 TAB1 TABL2 再删除架构TEST
DROP TABLE TEST.TAB1;
DROP TABLE TEST.TAB2;
DROP SCHEMA TEST;
成功删除TEST
[例3.5] 建立“学生”表Student。学号是主码,姓名取值唯一。
CREATE TABLE Student
(Sno CHAR(9) PRIMARY KEY,
Sname CHAR (20) UNIQUE,
Ssex CHAR (2),
Sage SMALLINT,
Sdept CHAR(20)
);
[例3.6 ] 建立一个“课程”表Course
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
);
[例3.7] 建立一个学生选课表SC
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)
);
[例3.8] 向Student表增加“入学时间”列,其数据类型为日期型
ALTER TABLE Student ADD S_entrance DATE;
不管基本表中原来是否已有数据,新增加的列一律为空
[例3.9] 将年龄的数据类型由字符型(假设原来的数据类型是 字符型)改为整数。
ALTER TABLE Student ALTER COLUMN Sage INT;
[例3.10] 增加课程名称必须取唯一值的约束条件。
ALTER TABLE Course ADD UNIQUE (Cname);
如果 重复 则会
[例3.11] 删除Student表
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
再进行删除
[例3.12 ]若表上建有视图,使用RESTRICT时表不能删除;使用 CASCADE时可以删除表,视图也自动删除。
建视图
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 ;
查看视图 视图自动被删除
注意:SQL Server不支持在删除过程中使用CASCADE/RESTRICT关键字
从例题12,11,4 可以体会到
感觉只是开了个小头就有好多东西需要学,网上查阅到T-Sql具有一些相对于sql的扩展功能
找到了一篇关于T-sql的,以便以后参考,
Sql Server 02相关推荐
- windows故障转移群集和mysql_Windows Server 故障转移群集 (WSFC) 与 SQL Server
Windows Server 故障转移群集 (WSFC) 与 SQL Server 02/18/2014 本文内容 "Windows Server 故障转移群集"(WSFC) 群集 ...
- 《Microsoft SQL Server入门教程》第02篇 SQL Server 下载与安装
文章目录 安装 SQL Server 安装 SQL Server Management Studio 连接 SQL Server 本篇我们介绍如何下载和安装 SQL Server 2019 开发者版本 ...
- SQL Server中灾难时备份结尾日志(Tail of log)的两种方法
简介 在数据库数据文件因各种原因发生损坏时,如果日志文件没有损坏.可以通过备份结尾日志(Tail of log)使得数据库可以恢复到灾难发生时的状态. 例如: 上图中.在DB_1中做了完整备份,在Lo ...
- python 使用pymssql连接sql server数据库
Python连接SQL Server数据库 - pymssql使用基础 ----原文地址:http://www.cnblogs.com/baiyangcao/p/pymssql_basic.html ...
- 如何在Windows Azure VM上的SQL Server和Windows Azure SQL Database两者中做出选择
作者信息:本篇文章是由SQL Server Cloud Infrastructure Team的 Madhan Arumugam 和 Guy Bowerman共同著作. 简介 把SQL 数据托管在哪里 ...
- SQL Server 2008之WaitFor
在SQL Server 2005以上版本中,在一个增强的WaitFor命令,其作用可以和一个job相当.但使用更加简捷. 看MSDN: http://msdn.microsoft.com/zh-cn/ ...
- sql server 海量数据速度提升:SQL优化-索引(11) 【转】
12.高效的TOP 事实上,在查询和提取超大容量的数据集时,影响数据库响应时间的最大因素不是数据查找,而是物理的I/0操作.如: select top 10 * from ( select top 1 ...
- sql server 日期
一.时间函数 在使用存储过程,sql函数的时候,会遇到一些对时间的处理.比如时间的获取与加减.这里就用到了sql自带的时间函数.下面我列出这些函数,方便日后记忆,使用. --getdate 获取当前时 ...
- 安装SQL Server 2012示例数据库
SQL Server的示例数据库是一个非常好的学习数据库的范例,在安装完SQL Server 2012后,默认情况下是不会安装示例数据库的,我们需要自己进行一些安装和设置. 安装Adventure W ...
- 通过WebService调用SQLXML(SQL Server 2005) [ZT]
[翻译]通过WebService调用SQLXML(SQL Server 2005) 原文发布日期:2007.02.04 作者:Russ Quinn 翻译:webabcd 介绍 我最近需要给用户创建一个 ...
最新文章
- Redis 笔记系列(十一)——Redis的发布和订阅机制
- 通过grub硬盘安装centos7
- 细菌绝对定量的方法总结
- .NET Framework、C#语言、IDE、CLR 版本历史及其差异(最新)
- 【转发】实现yolo3模型训练自己的数据集总结
- Java GregorianCalendar setTimeZone()方法与示例
- GUID基本概念以及C#、SqlServer中GUID基本用法
- 面向对象三大特性——多态
- 如何进入百度、阿里,一个6年Android老司机的面经
- java向指定用户极光推送_【极光推送】给指定用户发送消息
- mysql备份和优化_MySQL优化|数据库的备份和恢复|MySQL高级
- Problem Z: 亲戚
- AngularJs:Directive指令用法
- 1698无法登录mysql服务器_一,问题描述:MysqlERROR1698(28000)解决,新装了mysql-server-5.7,登录为这一问题,普通用户不能进mysql,只有root用...
- Python爬虫:让“蜘蛛”帮我们工作
- python serial.write_PySerial write()即时时间
- 贪心(greedy)
- 三层代码讲解--第二课 DATE :2004-05-25
- python设计樱花_用Python画樱花?想得美就能画得美(上)
- 试用了下ITIL开源管理工具iTop,感觉很爽,准备尽快部署并首先实现公司CMDB治理