2.3. 创建新表

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

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

您可以将其与换行符一起 Importingpsqlpsql将识别出直到分号才终止命令。

可以在 SQL 命令中自由使用空格(即空格,制表符和换行符)。这意味着您可以键入与上面不同的对齐方式,甚至可以全部一行地键入命令。用两个破折号(“ --”)进行 Comments。跟随它们的所有内容将一直忽略到行尾。 SQL 对关键字和标识符不区分大小写,除非对标识符加双引号以保留大小写(上面没有做过)。

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

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

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

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

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

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

DROP TABLE tablename;