PostgreSQL - 创建表

PostgreSQL CREATE TABLE 语句用于在任何给定数据库中创建新表。

句法

CREATE TABLE 语句的基本语法如下

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


CREATE TABLE 是一个关键字,告诉数据库系统创建一个新表。表的唯一名称或标识符遵循 CREATE TABLE 语句。极初,当前数据库中的空表由发出命令的用户拥有。


然后,在括号中,是列表,定义表中的每一列以及它是什么类型的数据类型。通过下面给出的示例,语法将变得清晰。


例子

以下是一个示例,它创建一个以 ID 作为主键的 pgccc_COMPANY 表,NOT NULL 是约束,表明在此表中创建记录时这些字段不能为 NULL

CREATE TABLE pgccc_COMPANY(    
ID INT PRIMARY KEY NOT NULL,   
 NAME TEXT NOT NULL,    
AGE INT NOT NULL,   
 ADDRESS CHAR(50),    
SALARY REAL );

让我们再创建一张表,我们将在后续章节的练习中使用它

CREATE TABLE pgccc_DEPARTMENT(   
 ID INT PRIMARY KEY NOT NULL,    
DEPT CHAR(50) NOT NULL,    
EMP_ID INT NOT NULL);


您可以使用\d命令验证您的表是否已成功创建,该命令将用于列出附加数据库中的所有表。

LNXDB‐# \d


上面给出的 PostgreSQL 语句将产生以下结果

List of relations
Schema | Name | Type | Owner
‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐
public | pgccc_company | table | postgres
public | pgccc_department | table | postgres
(2 rows)


使用\d tablename来描述每个表,如下所示

LNXDB‐# \d pgccc_company


上面给出的 PostgreSQL 语句将产生以下结果


Table "public.pgccc_company"
Column | Type | Modifiers
‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐
id | integer | not null
name | text | not null
age | integer | not null
address | character(50) |
salary | real |
join_date | date |
Indexes:
"pgccc_company_pkey" PRIMARY KEY, btree (id)