sql-server(模式创建)
模式:在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(模式创建)相关推荐
- SQL Server语句创建表
今天介绍一下如何使用SQL Server语句创建表并添加数据 首先先了解一下表的模式,在数据库中根据模式进行分组避免表名称的冲突 在SQL Server 2014中直接新建表是默认的前缀dbo 而命名 ...
- 使用 SQL Server Mobile 创建移动应用程序
使用 SQL Server Mobile 创建移动应用程序 在此演练中,您将学习如何在使用 SQL Server 2005 Mobile Edition (SQL Server Mobile) 的 ...
- sql server中创建链接服务器图解教程
转自sql server中创建链接服务器图解教程 1.展开服务器对象-->链接服务器-->右击"新建链接服务器" 注意:必须以数据库管理员身份登录(通常也就是sa帐号) ...
- sql server中创建数据库和表的语法
下面是sql server中创建数据库,创建数据表以及添加约束的sql语句: use master --创建数据库 if exists (select * from sysdatabases wher ...
- SQL Server 2012 创建数据库快照
原文:SQL Server 2012 创建数据库快照 不是所有的MSSQL数据库版本都支持数据库快照,只有Enterprise版本的才支持. 在其他版本上,以Business Intelligence ...
- 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 ...
- SQL Server触发器创建、删除、修改、查看
http://blog.csdn.net/tianwailaibin/article/details/8111766 本教程为大家介绍SQL Server触发器创建.删除.修改.查看方法. 一.触发器 ...
- 创建视图SQL:在SQL Server中创建视图
介绍 (Introduction) In this article, we are going to see how to use the CREATE VIEW SQL statement to c ...
- SQL Server 2008创建数据库
创建数据库就是为数据库确定名称.大小.存放位置.文件名和所在文件组的过程.在一个SQL Server 2008实例中,最多可以创建32767个数据库,数据库的名称必须满足系统的标识符规则.在命名数据库 ...
- 如何在SQL Server中创建SQL依赖关系图
Deleting or changing objects may affect other database objects like views or procedures that depends ...
最新文章
- 《机电传动控制》学习笔记03-1
- 详解CPU漏洞对机器学习的影响:几乎所有卷积层都受影响,QR分解降速37%
- 水木-搜索引擎技术版
- HDU-4059 The Boss on Mars 容斥定理
- sql 字符串比较大小_SQL 数据分析2:简单查询
- mybatis----#与$区别
- 经典面试题(13):如何理解和应用JavaScript闭包?
- leetcode之移动零
- cic滤波器原理 MATLAB,cic滤波器(cic滤波器的原理和设计)
- N-BaIoT-Network-based-Detection-of-IoT-Botnet-Attacks
- VSCode中设置ArcGIS python工具箱.pyt文件代码高亮
- 关于win10使用32位IE浏览器
- 计算机如何磁盘整理,如何整理磁盘碎片让Win7电脑运行更快?
- Python +大数据-知行教育(四)-意向用户主题看板_全量流程
- HP-UX 基本命令学习
- 如何使用sizeof获取指针指向数组的长度
- python3 字典遍历的方法
- [基于harbor部署私有仓库] 4 推送镜像到harbor
- atoi和strtol的区别和使用
- android 仿阅读,发布一个练笔的 Android 阅读器,轻微仿91 Android 阅读器【后续将提供源码】...
热门文章
- Wilcoxon秩和检验
- Magento查询产品时查询库存状态
- 层级结构——组合模式
- openflow交换机 ryu_ryu—交换机
- Android 仿微博客户端 ViewPaper
- 修改oracle用户资源限制,oracle用户登陆失败次数限制修改
- ElasticSearch(十二):Spring Data ElasticSearch 的使用(二)
- 猫加路由加服务器加交换机怎么配置文件,光猫接交换机和路由器,怎么设置?...
- 从零开始学习 JD CHAIN(一)- 快速部署 JD CHAIN
- python解决中文显示问题Glyph 24179 (\N{CJK UNIFIED IDEOGRAPH-5E73}) missing from current font. func(*args)