SQL DDL管理模式

创建了数据库之后,还需要创建模式才能够存储数据库对象。

DDL 创建模式

CREATE SCHEMA 命令用于创建一个新的模式:

-- SQL Server 以及 PostgreSQL 实现
CREATE SCHEMA hr
    [AUTHORIZATION user1];

以上语句创建一个名为 hr 的模式,可选的 AUTHORIZATION 表示为该模式指定一个拥有者 user1,拥有者是一个已经存在的数据库用户。

SQL Server 创建数据库时会自动创建一个名为 dbo 的模式,PostgreSQL 创建数据库时会自动创建一个名为 public 的模式。

MySQL 中的模式等价于数据库,因此 CREATE SCHEMA 等价于 CREATE DATABASE。

Oracle 中的模式等价于用户,因此使用 CREATE USER 命令创建用户时就相当于创建一个同名的模式:

CREATE USER hr
  IDENTIFIED BY xxx;

Oracle 也提供了 CREATE SCHEMA 命令,但不是用于创建模式,而是用于在模式中创建表、视图以及执行授权操作。

DDL 删除模式

不需要的模式可以使用 DROP SCHEMA 命令删除:

-- SQL Server 以及 PostgreSQL 实现
DROP SCHEMA hr;

MySQL 中的模式等价于数据库,因此 DROP SCHEMA 等价于 DROP DATABASE。

Oracle 中的模式等价于用户,因此使用 DROP USER 命令创建用户时就相当于创建一个同名的模式:

-- Oracle 实现
DROP USER hr;

如果模式中存在对象,则无法删除该模式;可以先删除其中的对象,再删除模式。某些数据库支持级联删除:

-- PostgreSQL 实现
DROP SCHEMA hr CASCADE;

-- Oracle 实现
DROP USER hr CASCADE;

CASCADE 表示删除模式的同时,删除该模式中的所有对象。

赞(0)
未经允许不得转载:极客笔记 » SQL DDL管理模式
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址