2.3. 创建一个新表¶
你可以通过指定表的名字和所有列的名字及其类型来创建表∶
CREATE TABLE weather (
city varchar(80),
temp_lo int, -- 最低温度
temp_hi int, -- 最高温度
prcp real, -- 湿度
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;