PostgreSQL基本使用Schema

参考文章:PostgreSQL基本使用(3)Schema_pg数据库查询schema-CSDN博客

PostgreSQL 模式(Schema)可以理解为是一个表的集合(或者所属者)。

例如:
在 MySQL 中Scheam 是库;所有的表都 “存放” 在一个库中。使用时,用库.表名;假若有 testdb 库,其内有 client 表,统计表行数SQL:select count(*) from testdb.client;
在 Oracle 中Schema 是用户;所有的表都 “存放” 在一个用户中。使用时,用用户.表名;假若有 fid_test 用户,期内有 client_info 表,查询 ID 为 100 的用户详细信息:select * from fid_test.client_info where id = 100;

那在 PostgreSQL 中,Schema 就是 Schema(不是库、也不是用户)。在使用时,使用schema名.表名称

使用模式(Schema)的优势:

  • 允许多个用户使用一个数据库并且不会互相干扰
  • 将数据库对象组织成逻辑组以便更容易管理
  • 第三方应用的对象可以放在独立的模式中,这样他们就不会与其他对象的名称发生冲突

默认的Schema

每创建一个数据库,其都会有一个默认的schema,名称为 public


创建 Schema

除了默认的 public 这个Schema,也可以创建自定义的Schema,SQL 语句如下:

 create schema testschema;

在 testschema 中创建表. 

create table testschema.test(id int, name varchar(200));

若添加数据时,不指定 testschema 则表达的意思是给 public 这个schema中的 test 表添加数据。
由于当前 mydb2 这个数据库中的 public 中无 test 表,所以:若不指定 testschema将会报错


查看 Schema

要查看当前 PostgreSQL 数据库中的所有 schema,你可以使用以下 SQL 查询:

SELECT schema_name
FROM information_schema.schemata;

这将返回一个结果集,其中包含数据库中所有 schema 的名称。请注意,这将包括 PostgreSQL 系统 schema(例如 publicpg_catalog 等)和用户自定义 schema(如果有的话)。


删除 Schema

在 PostgreSQL 中,如果删除一个 schema(模式),默认情况下其中的表也会被删除。然而,这个行为可以通过设置删除模式时的选项来改变。

在 PostgreSQL 中,删除 schema 可以使用 DROP SCHEMA 命令。如果你使用以下方式删除一个 schema,那么其中的表也会被一并删除:

DROP SCHEMA schema_name CASCADE;

在上述命令中,CASCADE 选项表示级联删除,即删除 schema 的同时也删除其包含的所有对象,包括表、视图、函数等。

如果你不想删除表,而只是删除 schema,可以使用以下方式:

DROP SCHEMA schema_name;

这样会删除 schema,但是如果其中有任何对象(如表),则删除操作会失败并显示错误消息,因为默认情况下 PostgreSQL 不允许删除一个非空的 schema

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/644520.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

etcd集群部署

1.etcd介绍 1.1 什么是etcd etcd的官方定义如下: A distributed, reliable key-value store for the most critical data of distributed systemetcd是一个Go语言编写的分布式、高可用的一致性键值存储系统,用于提供可靠的分布式键值(key value)存储、配置共享和服务发现等…

Nginx-狂神说

Nginx概述 公司产品出现瓶颈? 我们公司项目刚刚上线的时候,并发量小,用户使用的少,所以在低并发的情况下,一个jar包启动应用就够了,然后内部tomcat返回内容给用户。 但是慢慢的,使用我们平台…

C++ 常用UI库

AWTK github gitee doc scons 类似RT-Thread element github C Cross platfrom C GUI libraries,QT可替代方案。调试包 SDL GUI cegui 创作不易, 小小的支持一下吧!

如何在Windows 10上对硬盘进行碎片整理?这里提供步骤

随着时间的推移,由于文件系统中的碎片,硬盘驱动器可能会开始以较低的效率运行。为了加快驱动器的速度,你可以使用内置工具在Windows 10中对其进行碎片整理和优化。方法如下。 什么是碎片整理 随着时间的推移,组成文件的数据块&a…

YOLOv10详细解读 | 一文带你深入了解yolov10的创新点(附网络结构图 + 举例说明)

前言 Hello大家好,我是Snu77,继YOLOv9发布时间没有多久,YOLOv10就紧接着发布于2024.5.23号(不得不感叹YOLO系列的发展速度,但要纠正大家的观点就是不是最新的就一定最好)! 本文给大家带来的是…

Unity开发——XLua热更新之Hotfix配置(包含xlua获取与导入)

一、Git上获取xlua 最新的xlua包,下载地址链接:https://github.com/Tencent/xLua 二、Unity添加xlua 解压xlua压缩包后,将xlua里的Assets里的文件直接复制进Unity的Assets文件夹下。 成功导入后,unity工具栏会出现xlua选项。 …

vue3瀑布流示例,左侧菜单根据窗口滚动条进行固定和取消固定,实现瀑布流demo

瀑布流demo的实现效果: 效果说明: 1.使用vue3实现瀑布流效果; 2.瀑布流横向设置5等分,可根据个人需求调整; 3.左侧菜单可根据右侧滚动条滑动时进行固定和取消固定,实现更优的展示效果; 4.瀑…

Django 里html模板

Django 提供两种方式让程序员自定义html模板。 第一种方法 在项目文件夹里的urls.py进行添加 修改代码如下 from django.contrib import admin from django.urls import path from app01 import views # 得添加这行urlpatterns [path(xxx/, views.home), # 添加这行path(…

从0开始学统计-你能区分率和构成比吗?

1.数据的变异度如何描述? 数据的变异度描述了数据集中数值之间的差异或波动程度。常用的描述数据变异度的统计量包括: (1)范围(Range):范围是数据集中最大值与最小值之间的差异,表…

NDIS小端口驱动(九)

PCIe设备难免会遇到一些重置设备的请求,例如重置总线的时候,但是由于NIC网卡的多样性,重置设备确实也有许多要注意的地方,另外还有一些包含WDM的NDIS驱动 微型端口驱动程序硬件重置 微型端口驱动程序必须向 NdisMRegisterMinipo…

重新思考:Netflix 的边缘负载均衡

声明 本文是对Netflix 博客的翻译 前言 ​ 在先前关于Zuul 2开源的文章中,我们简要概述了近期在负载均衡方面的一些工作。在这篇文章中,我们将更详细地介绍这项工作的原因、方法和结果。 ​ 因此,我们开始从Zuul和其他团队那里学习&#…

L01_JVM 高频知识图谱

这些知识点你都掌握了吗?大家可以对着问题看下自己掌握程度如何?对于没掌握的知识点,大家自行网上搜索,都会有对应答案,本文不做知识点详细说明,只做简要文字或图示引导。 类的生命周期 类加载器 JVM 的内存…

CAD二次开发(2)-将直线对象添加到CAD图形文件

1. 准备工作 创建一个类库项目,如下: 2. 分析Line对象 Line类的初始化方法和参数 using Autodesk.AutoCAD.DatabaseServices; Line line new Line();Line 继承Curve 继承Entity 继承DBObject 继承Drawable 继承RXObject 初始化方法有两个&#xf…

2024年汉字小达人活动4个多月开赛:18道历年选择题和答案、解析

根据近年的安排,2024年第11届汉字小达人比赛还有4个多月就启动,那么孩子们如何利用这段时间有条不紊地备考呢?我的建议是两手准备:①把小学1-5年级的语文课本上的知识点熟悉,重点是字、词、成语、古诗。②把历年真题刷…

求两个整数最大公约数的方法

可以使用递归来实现,编写gcd函数返回最终的结果(最大公约数)。传入两个参数,如果存在一个数字不大于0就返回0,利用上面的公式就可以得出最后的结果。

电脑远程控制另一台电脑怎么弄?

可以远程控制另一台电脑吗? “你好,我对远程访问技术不太了解。现在,我希望我的朋友可以远程控制我的Windows 10电脑,以便她能帮我解决一些问题。请问,有没有免费的方法可以实现这种远程控制?我该如何操作…

机器学习大模型驱动:未来的趋势与应用

文章目录 📑前言一、什么是机器学习大模型?1.1 大模型的特点1.2 大模型的技术基础 二、大模型的技术实现2.1 Transformer 架构2.2 预训练和微调2.3 模型并行和数据并行 三、大模型的应用场景3.1 自然语言处理(NLP)3.2 计算机视觉&…

SpringMVC源码解读[1] -Spring MVC 环境搭建

源码地址: https://github.com/chen-jiacheng/springmvc-quickstart 一、使用 IDEA 创建 Spring MVC 项目 直接创建项目即可 默认项目结构: springmvc-quickstart ├── pom.xml └── src├── main│ ├── java│ │ └── com│ │ └── chenjiache…

2024Spring> HNU-计算机系统-实验4-Buflab-导引+验收

前言 称不上导引了,因为验收已经结束了。主要是最近比较忙,在准备期末考试。周五晚上才开始看实验,自己跟着做了一遍实验,感觉难度还是比bomblab要低的,但是如果用心做的话对于栈帧的理解确实能上几个档次。 实验参考…