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

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类型:intsmallintrealdouble precisionchar(N)varchar(N)datetimetimestampinterval,以及其他通用实用类型和一套丰富的几何类型。 PostgreSQL可以用任意数量的用户定义的数据类型进行自定义。因此,类型名在语法中不是关键字,除非需要在SQL标准中的特殊情形下提供支持。

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

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

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

最后,应该提一下,如果你不再需要一个表或者想要以不同的方式重新创建它,可以使用以下指令来删除它

DROP TABLE tablename;