在 PostgreSQL 中,使用 ALTER TABLE 语句可以对表进行各种修改。以下是一些常见的表修改操作:

1. 添加列(ADD COLUMN):
ALTER TABLE example_table
ADD COLUMN new_column INT;

2. 删除列(DROP COLUMN):
ALTER TABLE example_table
DROP COLUMN column_to_remove;

3. 修改列数据类型(ALTER COLUMN TYPE):
ALTER TABLE example_table
ALTER COLUMN existing_column
SET DATA TYPE VARCHAR(100);

4. 修改列名称(RENAME COLUMN):
ALTER TABLE example_table
RENAME COLUMN old_column_name TO new_column_name;

5. 添加主键约束(ADD PRIMARY KEY):
ALTER TABLE example_table
ADD PRIMARY KEY (column1, column2);

6. 删除主键约束(DROP PRIMARY KEY):
ALTER TABLE example_table
DROP CONSTRAINT example_table_pkey;

7. 添加外键约束(ADD FOREIGN KEY):
ALTER TABLE orders
ADD CONSTRAINT fk_employee
FOREIGN KEY (employee_id) REFERENCES employees(employee_id);

8. 删除外键约束(DROP FOREIGN KEY):
ALTER TABLE orders
DROP CONSTRAINT fk_employee;

9. 添加唯一约束(ADD UNIQUE):
ALTER TABLE example_table
ADD CONSTRAINT unique_constraint_name UNIQUE (column1, column2);

10. 删除唯一约束(DROP UNIQUE):
ALTER TABLE example_table
DROP CONSTRAINT unique_constraint_name;

11. 修改默认值(ALTER COLUMN SET DEFAULT):
ALTER TABLE example_table
ALTER COLUMN column1 SET DEFAULT 42;

12. 删除默认值(ALTER COLUMN DROP DEFAULT):
ALTER TABLE example_table
ALTER COLUMN column1 DROP DEFAULT;

13. 修改表名称(RENAME TABLE):
ALTER TABLE old_table_name
RENAME TO new_table_name;

这些是一些常见的表修改操作。在进行任何表修改之前,请确保了解修改的影响,并在必要时备份数据。修改表可能会涉及到大量的数据搬迁和锁定,具体的操作需要谨慎执行,特别是在生产环境中。


转载请注明出处:http://www.zyzy.cn/article/detail/8126/PostgreSQL