Postgresql 中文操作指南

2.3. Creating a New Table #

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

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;