↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2
历史版本。 PostgreSQL 7.3 已结束支持。 请参阅 当前版本手册.

2.3. 创建新表 #

你可以通过指定表名以及各列的列名和类型来创建一个新表:

CREATE TABLE weather (
    city            varchar(80),
    temp_lo         int,           -- low temperature
    temp_hi         int,           -- high temperature
    prcp            real,          -- precipitation
    date            date
);

你可以在psql中按这种换行格式输入该命令。psql会识别出该命令在分号出现之前尚未结束。

在 SQL 命令中可以随意使用空白字符(即空格、制表符和换行符)。这意味着你可以按与上面不同的方式对齐该命令,甚至把它全部写在一行上。两个连字符(“--”)表示注释。从它们开始直到行尾的内容都会被忽略。SQL 对关键字和标识符不区分大小写,除非用双引号括起标识符以保留大小写(上面的例子没有这么做)。

varchar(80) 声明了一个能存储任意字符串、长度上限为 80 个字符的数据类型。int 是普通的整数类型。real 是用于存储单精度浮点数的类型。date 顾名思义。(是的,类型为 date 的列也正好名叫 date。这可能是方便也可能是困扰——由你选择。)

PostgreSQL 支持常见的 SQL 类型 int、smallint、real、double precision、char(N)、varchar(N)、date、time、timestamp 和 interval,还有其他一些通用类型以及一套丰富的几何类型。PostgreSQL 可以用任意数量的用户自定义数据类型来定制。因此,类型名不是语法上的关键字,除非为了支持 SQL 标准中的特殊情形所必需。

第二个示例将存储城市及其关联的地理位置:

CREATE TABLE cities (
    name            varchar(80),
    location        point
);

point类型就是PostgreSQL特有数据类型的一个例子。

最后还要提一句,如果你不再需要某个表,或者想用不同的定义重新创建它,可以使用下面的命令把它移除:

DROP TABLE tablename;

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.