模式:在sql-server中创建模式其实就是为用户创建一个架构(命名空间)。在旧版本的sql-server中,没有架构这个说法,这是因为以前的sql-server使用用户名来充当架构,就是说用户名跟架构其实隐式的连在一起的,不需要我们关心。但后来的sql-server版本为了便于管理,就将架构和用户名分开了。

来看下创建模式的好处:下图是我创建的数据库和表格。下图已经存在一个模式为dbo(默认模式)的表格st。如果你再直接使用默认的模式(架构)创建st表,就会提示st已经存在,不能重复创建。

但是如果我们使用其他模式创建st表,就不会冲突了。下图我们使用了changqing模式,结果又创建了一个st表。这就是模式(构架)的好处,使得在同一个数据库下可以使用同样的表格名称。

一、模式创建(架构创建)

下图我们使用已经创建好的数据库school, 和数据库用户changqing。(如果没有创建,请自己创建一个数据库用户)

创建模式定义时,调用该命令的用户必须拥有管理员权限,否则无法创建。而且不能为登录名创建模式,必须是具体的数据库的用名。

注:不过,实际大部分登录名就是数据库用户名,少部分不是,如sa是登陆名,实际它对应的数据库用户名是dbo,所以只能为dbo用户创建模式,而不能为sa创建, 因为sa是登录名不是用户名。

总结重要两点(管理员权限才能创建,必须使用数据库用户名)。

创建模式为:下面的例子是为shool数据库用户changqing创建一个test模式,可以看到此用户拥有了test架构。

use school
create schema  test authorization changqing;

二、使用模式创建表格

1.如果创建表格时不指定模式,系统默认创建dbo模式,

如下:

use school
go
create table  student(Sno char(9)  primary key,Sname char(20)unique,Ssex char(2),Sage smallint,Sdept char(20));
go

这句sql语句执行会创建一个dbo模式的student,由于dbo模式的student已经存在,所以执行失败。

2.创建表格的时候指定模式,

sql语句如下

use school
go
create table  test.student(Sno char(9)  primary key,Sname char(20)unique,Ssex char(2),Sage smallint,Sdept char(20));
go

这句sql语句创建一个test模式的student表。

三、删除模式

如果在该模式下建立了表格或则视图等,应该先删除这些表格视图,然后才能删除此模式。如下图,test模式被student表使用,所以不允许删除。

应该先删除引用test模式的student表,然后才能删除模式test。

sql-server(模式创建)相关推荐

  1. SQL Server语句创建表

    今天介绍一下如何使用SQL Server语句创建表并添加数据 首先先了解一下表的模式,在数据库中根据模式进行分组避免表名称的冲突 在SQL Server 2014中直接新建表是默认的前缀dbo 而命名 ...

  2. 使用 SQL Server Mobile 创建移动应用程序

    使用 SQL Server Mobile 创建移动应用程序  在此演练中,您将学习如何在使用 SQL Server 2005 Mobile Edition (SQL Server Mobile) 的 ...

  3. sql server中创建链接服务器图解教程

    转自sql server中创建链接服务器图解教程 1.展开服务器对象-->链接服务器-->右击"新建链接服务器" 注意:必须以数据库管理员身份登录(通常也就是sa帐号) ...

  4. sql server中创建数据库和表的语法

    下面是sql server中创建数据库,创建数据表以及添加约束的sql语句: use master --创建数据库 if exists (select * from sysdatabases wher ...

  5. SQL Server 2012 创建数据库快照

    原文:SQL Server 2012 创建数据库快照 不是所有的MSSQL数据库版本都支持数据库快照,只有Enterprise版本的才支持. 在其他版本上,以Business Intelligence ...

  6. sql azure 语法_使用Azure Data Studio从SQL Server数据创建图表

    sql azure 语法 In this article, we will explore charts in an Azure Data Studio using data stored in SQ ...

  7. SQL Server触发器创建、删除、修改、查看

    http://blog.csdn.net/tianwailaibin/article/details/8111766 本教程为大家介绍SQL Server触发器创建.删除.修改.查看方法. 一.触发器 ...

  8. 创建视图SQL:在SQL Server中创建视图

    介绍 (Introduction) In this article, we are going to see how to use the CREATE VIEW SQL statement to c ...

  9. SQL Server 2008创建数据库

    创建数据库就是为数据库确定名称.大小.存放位置.文件名和所在文件组的过程.在一个SQL Server 2008实例中,最多可以创建32767个数据库,数据库的名称必须满足系统的标识符规则.在命名数据库 ...

  10. 如何在SQL Server中创建SQL依赖关系图

    Deleting or changing objects may affect other database objects like views or procedures that depends ...

最新文章

  1. 《机电传动控制》学习笔记03-1
  2. 详解CPU漏洞对机器学习的影响:几乎所有卷积层都受影响,QR分解降速37%
  3. 水木-搜索引擎技术版
  4. HDU-4059 The Boss on Mars 容斥定理
  5. sql 字符串比较大小_SQL 数据分析2:简单查询
  6. mybatis----#与$区别
  7. 经典面试题(13):如何理解和应用JavaScript闭包?
  8. leetcode之移动零
  9. cic滤波器原理 MATLAB,cic滤波器(cic滤波器的原理和设计)
  10. N-BaIoT-Network-based-Detection-of-IoT-Botnet-Attacks
  11. VSCode中设置ArcGIS python工具箱.pyt文件代码高亮
  12. 关于win10使用32位IE浏览器
  13. 计算机如何磁盘整理,如何整理磁盘碎片让Win7电脑运行更快?
  14. Python +大数据-知行教育(四)-意向用户主题看板_全量流程
  15. HP-UX 基本命令学习
  16. 如何使用sizeof获取指针指向数组的长度
  17. python3 字典遍历的方法
  18. [基于harbor部署私有仓库] 4 推送镜像到harbor
  19. atoi和strtol的区别和使用
  20. android 仿阅读,发布一个练笔的 Android 阅读器,轻微仿91 Android 阅读器【后续将提供源码】...

热门文章

  1. Wilcoxon秩和检验
  2. Magento查询产品时查询库存状态
  3. 层级结构——组合模式
  4. openflow交换机 ryu_ryu—交换机
  5. Android 仿微博客户端 ViewPaper
  6. 修改oracle用户资源限制,oracle用户登陆失败次数限制修改
  7. ElasticSearch(十二):Spring Data ElasticSearch 的使用(二)
  8. 猫加路由加服务器加交换机怎么配置文件,光猫接交换机和路由器,怎么设置?...
  9. 从零开始学习 JD CHAIN(一)- 快速部署 JD CHAIN
  10. python解决中文显示问题Glyph 24179 (\N{CJK UNIFIED IDEOGRAPH-5E73}) missing from current font. func(*args)