创建新表

PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 章 2. SQL语言 | 下一页

# 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 命令中自由使用空白(空格，tab，换行符)。这意味着你可以用 和上面不同的对齐方式(甚至在同一行中)键入命令。双划线("`--`") 引入注释，任何跟在它后面的东西直到该行的结尾都被忽略。SQL 是对关键字 和标识符大小写不敏感的语言，只有在标识符用双引号包围时才能保留它们的 大小写属性(上面没有这么干)。

`varchar(80)`声明一个可以存储最长 80 个字符的任意字符串的数据类型。 `int`是普通的整数类型。`real`是一种用于存储单精度浮点数 的类型。`date`类型应该可以自解释。没错，类型为`date`的字 段名字也是`date`。这么做可能比较方便，也可能容易让人 混淆，你自己看啦。

PostgreSQL支持标准的SQL类型： `int`, `smallint`, `real`, `double precision`, `char(`N`)`, `varchar(`N`)`, `date`, `time`, `timestamp`,和 `interval`，还支持其它的通用类型和丰富的几何类型。PostgreSQL 允许你自定义任意数量的数据类型。因而类型名并不是语法关键字，除了SQL 标准要求支持的特例外。

第二个例子将保存城市和它们相关的地理位置：

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

`point`类型就是一个PostgreSQL特有的数据类型的例子。

最后，我们还要提到如果你不再需要某个表，或者你想创建一个不同的表，那么你可以用下面的命令删除它：

    DROP TABLE tablename;

上一页 | 起始页 | 下一页
概念 | 上一级 | 向表中添加行