📜  PostgreSQL – 主键

📅  最后修改于: 2022-05-13 01:57:15.730000             🧑  作者: Mango

PostgreSQL – 主键

在本文中,我们将使用 SQL 语句研究 PostgreSQL 主键约束。主键是用于在表中唯一标识行的一列或一组列。从技术上讲,主键约束是非not-null约束和UNIQUE约束的混合。一张表中只能存在一个主键。每当向表中添加主键时,PostgreSQL 都会在所使用的列或一组列上生成唯一的 B 树索引,用于定义主键。

Syntax: column_name Data-type PRIMARY KEY

现在让我们看一些例子。
示例 1:
在这个例子中,我们将创建一个表(比如,books)并添加一个列(比如,book_id)作为表的主键。

CREATE TABLE books (
    book_id INTEGER PRIMARY KEY,
    title TEXT,
    price INTEGER
);

现在让我们使用以下命令向表中插入一些数据:

INSERT INTO books(book_id, title, price)
VALUES
    ('101', 'Jobs', '2000'),
    ('102', 'Geeta', '250'),
    ('103', 'Ramayana', '354'),
    ('104', 'Vedas', '268');

现在我们将使用以下命令检查插入的内容是否按预期工作:

SELECT * FROM books;

输出:



示例 2:
在此示例中,我们将向现有表添加 PRIMARY 键。因此,让我们首先使用以下命令创建一个:

CREATE TABLE vendors (name VARCHAR(255));

现在使用 INSERT 语句vendors表添加几行,如下所示:

INSERT INTO vendors (NAME)
VALUES
    ('Microsoft'),
    ('IBM'),
    ('Apple'),
    ('Samsung');

现在验证插入操作,我们使用以下 SELECT 语句从供应商表中查询数据:

SELECT
    *
FROM
    vendors;

这将为我们提供以下结果:

现在,如果我们想将一个名为id的主键添加到vendors表中并且id字段自动增加一个单位,我们使用以下语句:

ALTER TABLE vendors ADD COLUMN ID SERIAL PRIMARY KEY;

让我们使用以下命令再次检查 vendor 表:

SELECT
    id, name
FROM
    vendors;

输出: