PostgreSQL 创建表
PostgreSQL的CREATE TABLE语句用于在给定的数据库中创建新的表。
语法
CREATE TABLE语句的基本语法如下所示−
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);
CREATE TABLE是一个关键字,告诉数据库系统创建一个新表。在CREATE TABLE语句后面是表的唯一名称或标识符。最初,当前数据库中的空表由发出命令的用户拥有。
然后,以括号的形式列出表中的每列及其数据类型。通过下面给出的示例,语法将变得清晰。
示例
以下是一个示例,它创建了一个名为COMPANY的表,其中ID是主键,并且NOT NULL是约束条件,表示在创建此表中的记录时这些字段不能为空值。
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
让我们创建一张表,我们将在后续章节的练习中使用 –
CREATE TABLE DEPARTMENT(
ID INT PRIMARY KEY NOT NULL,
DEPT CHAR(50) NOT NULL,
EMP_ID INT NOT NULL
);
您可以使用 \d 命令验证您的表是否成功创建,该命令将用于列出附加数据库中的所有表。
testdb-# \d
上述给出的PostgreSQL语句将产生以下结果-
List of relations
Schema | Name | Type | Owner
--------+------------+-------+----------
public | company | table | postgres
public | department | table | postgres
(2 rows)
使用 \d tablename 来描述每个表格如下所示 –
testdb-# \d company
以上给出的PostgreSQL语句将产生以下结果 –
Table "public.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:
"company_pkey" PRIMARY KEY, btree (id)