Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16

2.3. 创建新表 #

您可以通过指定表名以及所有列名及其类型来创建新表

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

您可以使用换行符将此内容输入 psqlpsql 将识别到该命令在分号出现之前不会终止。

在 SQL 命令中可以自由使用空格(即空格、制表符和换行符)。这意味着您可以按与上面不同的方式对齐命令,甚至可以全部在一行中输入。两个破折号 (--) 表示注释。它们后面的任何内容都将被忽略,直到该行的末尾。SQL 对关键字和标识符不区分大小写,除非标识符用双引号引起来以保留大小写(上面未执行此操作)。

varchar(80) 指定了一个数据类型,该类型可以存储长度最长为 80 个字符的任意字符串。 int 是普通整数类型。 real 是用于存储单精度浮点数的类型。 date 应该不言自明。(是的,类型为 date 的列也命名为 date。这可能很方便或令人困惑——由您选择。)

PostgreSQL 支持标准 SQL 类型 intsmallintrealdouble precisionchar(N)varchar(N)datetimetimestampinterval,以及其他通用实用类型和丰富的几何类型。 PostgreSQL 可以使用任意数量的用户定义数据类型进行自定义。因此,类型名称不是语法中的关键字,除非在 SQL 标准中需要支持特殊情况时除外。

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

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

point 类型是 PostgreSQL 特定数据类型的示例。

最后,应该提到的是,如果您不再需要某个表或想以不同的方式重新创建它,可以使用以下命令删除它

DROP TABLE tablename;