您可以通过指定表名以及所有列名及其类型来创建新表
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
;