SQL Server中CREATE DATABASE与CREATE SCHEMA的区别是什么?
SQL Server中CREATE DATABASE与CREATE SCHEMA的差异
在SQL Server里,CREATE DATABASE和CREATE SCHEMA是完全不同层级的操作,和MySQL中二者近乎等价的情况完全不同,具体差异如下:
CREATE DATABASE:用于创建独立的数据库实例,是SQL Server中最高层级的存储容器之一。执行该语句后会生成包含数据文件(.mdf)和日志文件(.ldf)的完整数据库,所有后续的表、视图、架构等对象都必须依附于某个数据库存在。
示例代码:CREATE DATABASE MyBusinessDB;CREATE SCHEMA:仅能在已存在的数据库内执行,用于创建逻辑分组架构。架构是数据库下的二级容器,用来归类管理数据库对象(如表、存储过程),既可以避免不同业务模块的对象重名冲突,也便于针对特定业务组设置权限。
示例代码:-- 先切换到目标数据库 USE MyBusinessDB; -- 创建用于管理销售数据的架构 CREATE SCHEMA Sales; -- 在Sales架构下创建订单表 CREATE TABLE Sales.CustomerOrders (OrderID INT PRIMARY KEY, OrderDate DATETIME);
简单总结:CREATE DATABASE是创建整个"数据库",CREATE SCHEMA是在已有数据库里创建"逻辑分组",二者的作用域和层级完全不同。
内容的提问来源于stack exchange,提问作者xuxu
相关产品推荐
相关产品推荐

