當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


PostgreSQL ALTER TABLE用法及代碼示例

在 PostgreSQL 中,可以使用 ALTER TABLE 語句修改現有表的結構。

用法: ALTER TABLE table_name action;

PostgreSQL 支持使用 ALTER TABLE 執行的各種操作,如下所示:

  • 向現有表中添加一列,如下所示:
    ALTER TABLE table_name ADD COLUMN new_column_name TYPE;
  • 從現有表中刪除一列,如下所示:
    ALTER TABLE table_name DROP COLUMN column_name;
  • 重命名現有表中的列,如下所示:
    ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name;
  • 更改現有表中列的默認值,如下所示:
    ALTER TABLE table_name ALTER COLUMN column_name [SET DEFAULT value | DROP DEFAULT];
  • 更改 NOT NULL 約束如下:
    ALTER TABLE table_name ALTER COLUMN column_name [SET NOT NULL| DROP NOT NULL];
  • 向列添加 CHECK 約束,如下所示:
    ALTER TABLE table_name ADD CHECK expression;
  • 添加約束如下:
    ALTER TABLE table_name ADD CONSTRAINT constraint_name constraint_definition;
  • 將現有表重命名如下:
    ALTER TABLE table_name RENAME TO new_table_name;

現在讓我們看一個例子。出於同樣的目的,讓我們首先創建一個表(比如鏈接),我們可以在我們的示例中使用以下語句對其進行更改:

CREATE TABLE links (
    link_id serial PRIMARY KEY,
    title VARCHAR (512) NOT NULL,
    url VARCHAR (1024) NOT NULL UNIQUE
);

例:
在這個例子中,我們將在鏈接表中插入一個新列,如下所示:

ALTER TABLE links
ADD COLUMN active boolean;

以下語句刪除了active 列從links 表:



ALTER TABLE links 
DROP COLUMN active;

重命名title 列到link_title,您使用以下語句:

ALTER TABLE links 
RENAME COLUMN title TO link_title;

以下語句添加了一個名為的新列target links 表:

ALTER TABLE links 
ADD COLUMN target VARCHAR(10);

將 _blank 設置為默認值target 列中links 表,您使用以下語句:

ALTER TABLE links 
ALTER COLUMN target
SET DEFAULT '_blank';

如果將新行插入links 沒有為目標列指定值的表,target column 將采用 _blank 作為默認值。為了演示,讓我們插入一些數據,如下所示:

INSERT INTO links (link_title, url)
VALUES('PostgreSQL Tutorial', 'https://www.geeksforgeeks.org/');

從links表查詢數據:

SELECT * FROM links;

輸出:

相關用法


注:本文由純淨天空篩選整理自RajuKumar19大神的英文原創作品 PostgreSQL – ALTER TABLE。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。