欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 明星 > PostgreSQL 数据库模式基础操作

PostgreSQL 数据库模式基础操作

2025/2/8 3:40:13 来源:https://blog.csdn.net/weixin_43416590/article/details/145444963  浏览:    关键词:PostgreSQL 数据库模式基础操作

查看数据库或者使用pgAdmin或者QGIS查看PG数据库时,可以看到数据库名下面有一个Public,然后才是具体的表,搜索了一下,按照PG官网:https://www.postgresql.org/docs/current/ddl-schemas.html 的说明,这个Public是数据库的模式。PostgreSQL的架构中包含 模式(Schema) 的概念。模式是数据库中的一个逻辑分区,用于组织表、视图、函数等对象。一个数据库可以包含多个模式,模式之间可以隔离,避免命名冲突。但是在MySQL中,模式(Schema)和数据库是同义词,MySQL的架构相对简单,主要由实例、数据库、表和列组成。也就是说PG比MySQL多了一层架构

官网提及到使用 Schema 的原因有多种:

  • 允许多个用户使用一个数据库而不会相互干扰。
  • 将数据库对象组织到逻辑组中,使其更易于管理。
  • 第三方应用程序可以放入单独的架构中,这样它们就不会与其他对象的名称发生冲突。

我们创建了表,但未指定任何架构名称时,在这种默认情况下,会自动放入名为 “public” 的模式中。每个新数据库都包含这样的架构。因此,以下内容是等效的:

CREATE TABLE  表名(表结构);
CREATE TABLE public.表名(表结构);

此外,还可以创建模式、在模式下创建表、删除模式。创建模式使用 CREATE SCHEMA 命令,并为 schema 指定名称:

CREATE SCHEMA 模式名称;

如果要在模式中访问表或者创建表,可以使用 模式名称.表名称 或者 数据库名称.模式名称.表名称 的形式进行访问或创建。

schema.table
database.schema.table
# 模式中创建表
CREATE TABLE schemaName.tableName(表结构);

如果删除模式,需要考虑模式内是否有内容。如果 schema 中没有任何对象,可以直接删除;如果 schema 中包含表、视图或其他对象,必须使用 CASCADE来删除模式及其内部的所有对象,一旦执行,这些对象将无法恢复,除非有数据库备份。

DROP SCHEMA schema名称;
DROP SCHEMA schema名称 CASCADE;

此外,官网详细介绍了CASCADE、模式和权限、系统目录架构、使用模式和可移植性等内容,我感觉暂时没有就没学习和做笔记,大家可以去看官网。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com