# 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对关键字和标识符不区分大小写,除非标识符被双引号引用以保留大小写(以上未做)。

瓦查尔(80岁)指定可以存储长度不超过80个字符的任意字符串的数据类型。智力是普通整数类型。真实的是一种用于存储单精度浮点数的类型。日期应该不言自明。(是的,类型为日期也叫日期.这可能是方便的,也可能是令人困惑的——由你选择。)

PostgreSQL支持标准SQL类型智力,短整型, 真实的, 双精度, 炭(*N*), 瓦尔查尔(*N*), 日期, 时间, 时间戳间隔,以及其他类型的通用工具和丰富的几何类型。PostgreSQL可以使用任意数量的用户定义数据类型进行自定义。因此,类型名不是语法中的关键字,除非需要支持SQL标准中的特殊情况。

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

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

这个指向类型是PostgreSQL特定数据类型的一个示例。

最后,应该提到的是,如果您不再需要表格,或者希望以不同的方式重新创建表格,可以使用以下命令将其删除:

DROP TABLE tablename;