您可以指定表名以及所有列名及其类型来创建一个新表。
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 可以通过任意数量的用户定义数据类型进行自定义。因此,类型名称不是语法中的关键字,除非为了支持特定情况下的特殊情况而必需。SQLSQL
标准的一部分。
第二个示例将存储城市及其相关的地理位置。
CREATE TABLE cities ( name varchar(80), location point );
point
类型是 PostgreSQL 特定数据类型的一个例子。
最后,应该提到的是,如果您不再需要某个表,或者想以不同的方式重新创建它,您可以使用以下命令将其删除。
DROP TABLE tablename
;
如果您在文档中发现任何不正确的内容,与您对特定功能的体验不符,或者需要进一步澄清,请使用 此表单 报告文档问题。