PostgreSQL Create Schema
在本节中,我们将学习如何在pgAdmin 4和SQL shell(psql)。
在PostgreSQL中,模式是一个提供各种对象的名称空间,例如作为数据类型,索引,表,运算符,视图,序列和函数。并且create语句提供了确切的对象名称,这有助于我们在现有架构中创建对象。
在PostgreSQL中创建Schema
创建架构语句用于在现有数据库中创建新架构。该语句可以包含用于在新架构中创建对象的子命令。并且模式名称应该与现有数据库中任何当前模式的名称不同。
在 PostgreSQL ,我们可以通过两种不同的方式创建模式:
在pgAdmin 4中创建架构
在psql中创建架构
注意: CREATE SCHEMA命令用于创建模式,并且不能嵌套。
创建架构的语法
CREATE SCHEMA schema_name;
Or
CREATE SCHEMA [if NOT EXISTS] schema_name;
我们在上述语法中使用了以下参数:
参数 |
说明 |
Create Schema |
创建模式是一个关键字,用于在数据库中创建新的模式。 |
Schema_Name |
此参数用于描述架构的名称,并且架构名称在现有数据库中应该是唯一的。 |
If not exists |
这是一个可选参数,仅在不出现新模式时才用于创建新模式。 或 如果我们尝试在不使用新模式的情况下创建新模式 IF NOT EXISTS选项(已经存在)会产生错误。 |
注意: 要实现create schema命令,我们应该在现有数据库中具有CREATE特权。
在pgAdmin 4中创建 Schema
在此,我们将在最新版本的pgAdmin中创建架构。我们需要按照以下步骤创建模式:
Step1
首先,在我们的本地系统中打开 pgAdmin 并将 PostgreSQL 连接到本地服务器。
Step2
之后,我们将通过单击向下箭头图标来扩展数据库,如以下屏幕截图所示:
在上图中,我们可以看到PostgreSQL中有两个可用的数据库。在这里,我们采用第一个数据库 lidihuo 。
Step3
现在,我们将扩展数据库 lidihuo 。
Step4
一旦我们扩展了lidihuo数据库,就可以看到 Schemas 。
在那之后,为了创建模式,我们将右键单击 Schemas 选项,然后选择 Create ,然后单击 schema 列表中的strong>选项。
Step5
单击架构后,创建模式窗口将出现在屏幕上,我们将提供所有必要的详细信息,例如名称等,然后单击在保存 上
Step6
一旦点击"保存"按钮,便创建了 myschema ,如下图所示:
在psql中创建Schema
首先,我们将连接到 lidihuo 数据库,并借助以下命令创建一个新的Jtp模式:
lidihuo=# create schema jtp;
CREATE SCHEMA
消息 CREATE SCHEMA (创建架构)表示该架构已成功创建。
要检查是否创建了架构,我们可以执行以下命令:
执行上述命令后,我们可以在以下屏幕截图中看到模式列表:
PostgreSQL在Schema中创建表
在这里,我们将在特定模式中创建一个表(我们在本节的前面创建)。在PostgreSQL中,我们可以通过两种不同的方式在模式中创建表:
在pgAdmin模式中创建表
在psql模式中创建表
在pgAdmin Schema中创建表
在pgAdmin中创建模式后,我们将在特定模式中创建表。为此,我们将按照以下步骤操作:
Step1
首先,我们正在扩展新创建的架构 myschema ,我们可以看到myschema包含以下内容:
整理
表格
序列
功能
过程
类型
查看等等。
Step2
现在,我们将右键单击 myschema 下的 Tables 选项,然后在给定的位置选择 Create 选项。下拉菜单,然后点击表格,如下图所示:
Step3
点击表格选项后,创建表格窗口将出现在屏幕上,我们将在其中输入所有必要的详细信息,例如表格名称。在我们的例子中,我们将创建一个名为学生的表。
Step4
此后,我们将移至同一窗口中的 Column 标签,然后单击 + 符号以在特定表格中添加列。
我们可以从给定的下拉列表中选择数据类型,还可以更改列 Not-null 的首选项,还可以设置主键。
然后单击保存以完成创建表的过程,如下面的屏幕截图所示:
我们可以看到 Student 表是在 Table 下创建的
在psql Schema中创建表
现在,我们将在上面创建的psql模式中创建一个表。但是首先,我们将看到在psql模式中创建表的语法。
在模式中创建表的语法
用于创建表的常规语法架构中的内容如下:
CREATE TABLE Schema_name.Table_name (
);
以上语法中使用了以下参数:
参数 |
说明 |
Create table |
创建表是一个关键字,用于在现有架构中创建表。 |
Schema_name |
它用于指定当前架构名称。 |
Table_name |
它用来描述表的名称,并且表名在现有模式中应该是唯一的。 |
以下命令用于在psql模式中创建一个表:
lidihuo=# create table jtp.Employee(
Emp_ID int NOT null,
Emp_NAME VARCHAR (25) NOT null,
Emp_AGE int NOT null,
Emp_ADDRESS char (30),
Emp_SALARY Real,
PRIMARY KEY (Emp_ID)
);
以上命令将创建一个空表。我们可以借助以下命令检查创建的表:
lidihuo=# select * from jtp.Employee;
输出
下面的屏幕快照将显示上面创建的表的结果: