pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
你可以通过指定表名以及各列的列名和类型来创建一个新表:
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 类型 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;
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。