如何在Postgres中向表中添加多列?

171

如何在使用pgadmin3的PostgreSQL中一次查询语句中添加多个列?

3个回答

300

试试这个:

ALTER TABLE table ADD COLUMN col1 int, ADD COLUMN col2 int;

11
你可能想要参考文档以备将来之需,ALTER TABLE [ ONLY ] name [ * ] action [, ... ],http://www.postgresql.org/docs/current/static/sql-altertable.html - mu is too short
并设置默认值:ALTER TABLE table ADD COLUMN col1 int default 0, ADD COLUMN col2 text default 'foo'; - Brian D

0

使用ALTER TABLEADD COLUMN子命令。

ALTER TABLE

这将使用子命令更改现有表的定义,例如:ADD COLUMN

ADD COLUMN [IF NOT EXISTS]:

此形式使用与CREATE TABLE相同的语法向表添加新列。如果指定了IF NOT EXISTS并且已经存在具有此名称的列,则不会抛出错误。

添加列

最基本的语法是:

ALTER TABLE table_name
ADD COLUMN new_column_name data_type constraint;

在这个语法中:

  1. 首先,在 ALTER TABLE 关键字后指定要向其添加新列的表的名称。
  2. 其次,在 ADD COLUMN 关键字后指定新列的名称、数据类型和约束。

使用 IF NOT EXIST 子句添加列

ALTER TABLE table_name 
ADD COLUMN IF NOT EXISTS new_column_name data_type constraint;

这个选项会让 PostgreSQL 只在表中不存在该列名时才添加新列的指令。如果存在,您将收到相应的响应;否则,它将创建一个新列。


-1
ALTER TABLE  IF EXISTS  TABLEname 
add ADD  COLUMN   IF NOT EXISTS  column_name data_type  [column_constraint];

详细查询,其中列约束是可选的


3
哎呀,以上两种语法在Redshift中都不适用 :-(我收到了错误信息:ERROR: syntax error at or near "," LINE 1: ALTER TABLE x ADD COLUMN col1 int, ADD COLUMN colX int - Doug P

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接