用下面的命令创建一个表:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL
);
我们可以多次插入一个项。
特别地,我们可以让列重复相同的值。
我们可以使用unique key约束强制一个列只有唯一的值:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL UNIQUE
);
现在如果你试着插入两次Flavio:
INSERT INTO people VALUES (37, 'Flavio');
INSERT INTO people VALUES (20, 'Flavio');
你会得到一个错误:
ERROR: duplicate key value violates unique constraint "people_name_key"
DETAIL: Key (name)=(Flavio) already exists.
主键是具有另一个属性的唯一键:它是我们标识表中一行的主要方式。
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL PRIMARY KEY
);
例如,主键可以是用户列表中的一封电子邮件。
主键可以是我们自动分配给每个记录的惟一id。
无论这个值是什么,我们都可以使用它来引用表中的一行。