📜  PostgreSQL创建表

📅  最后修改于: 2020-11-30 01:15:27             🧑  作者: Mango

PostgreSQL创建表

在PostgreSQL中,创建表命令用于在任何给定数据库中创建新表。

在本节中,我们将学习如何在PostgreSQL中创建表。

在PostgreSQL中创建表的语法

CREATE TABLE table_name(  
   column1 datatype,  
   column2 datatype,  
   column3 datatype,  
   .....  
   columnN datatype,  
   PRIMARY KEY(one or more columns )  
);  

这里,

在上面的语法中, CREATE TABLE是一个关键字,它使用数据库系统来创建新表。

table_name:用于定义表的名称。

Column1,Column2 ….列N:这些用于定义列的名称。

data_type:用于定义列的数据类型(整数,文本,字符,实数等)。

注意:一个表的名称不能与同一模式中的任何现有表的名称相似。

在PostgreSQL中创建表

PostgreSQL中,我们可以通过两种方式创建表:

  • PostgreSQL使用pgAdmin创建表
  • PostgreSQL使用SQL Shell创建表

PostgreSQL使用pgAdmin创建表

我们将按照以下过程在pgAdmin中创建一个表:

步骤1

  • 首先,我们将在本地系统中打开最新版本的pgAdmin ,然后转到对象树并选择要在其中创建表的数据库。

第2步

  • 之后,在选定的数据库(javatpoint)上单击鼠标左键,然后我们可以看到Catalogs和Schemas

第三步

  • 然后,我们将右键单击“模式的公共”部分,从给定的下拉列表中选择“创建”选项,然后从给定列表中单击“表”。

第四步

  • 单击表格后,屏幕上将出现“创建表格”窗口,我们将在其中输入所有必要的详细信息,例如表格名称。在本例中,我们将创建一个名为Employee的表。

步骤5

  • 之后,我们将移至同一窗口中的Column选项卡,然后单击+号以在特定表中添加列。
  • 我们可以从给定的下拉列表中选择数据类型,也可以更改非空首选项列,还可以设置主键
  • 然后单击保存以完成创建表的过程,如下面的屏幕截图所示:

  • 我们可以看到在Table部分下创建了Employee表。

PostgreSQL使用psql创建表:

我们将按照以下过程在psql中创建表:

步骤1

  • 首先,我们将在本地系统中打开psql ,然后连接到要创建表的数据库。
  • 我们将在我们先前在PostgreSQL教程中创建的javatpoint数据库中创建一个表。

第2步

  • 为了连接数据库,我们将输入以下命令:
\c javatpoint

第三步

  • 现在,我们将输入以下命令以在javatpoint数据库中创建一个表。
create table Student(Stu_id int, Stu_Name text, Stu_Age int, Stu_address char(30));
  • 正如我们在下面的屏幕快照中看到的那样,该表是在javatpoint数据库中创建的:

第四步

  • 我们可以使用以下命令来检查特定数据库中的表(关系)。

步骤5

  • 如果再次尝试创建相同的表,则会出现以下错误:

步骤6

  • 我们可以使用参数IF NOT EXISTS来获得通知,而不是错误:

在下表中,我们可以定义在深入创建表时使用的一些基本参数列表。

Parameter Description
If not exists If a table already occurs with a similar name, a warning will be displayed in place of an error.
Unlogged This parameter does not enter data into the write-ahead log (WAL) because of the deletion of this further IO operation, write performance is improved.
Of_type_name In this parameter, a table can have structure from the defined composite type.
Temporary or Temp It is used to generate a temporary table, and it will delete after the existing operation or at the end of a session.

以下示例显示了我们如何在表中添加约束:

Create table department
( dept_no int constraint dept_details_pk primary key 
  dept_name text NOT NULL,
Location varchar(15),
);

正如我们在以下屏幕截图中看到的: