电商商城网站开发,生产erp管理系统app,芜湖营销网站建设,深圳开发app的公司有哪些【PostgreSQL】约束链接
检查 唯一 主键 外键 排他
主键
主键#xff08;Primary Key#xff09;是数据库表中用于唯一标识每一行记录的字段。主键具有以下特点#xff1a;
唯一性#xff1a;每个主键值在表中是唯一的#xff0c;不允许出现重复值。非空性#xff1a…【PostgreSQL】约束链接
检查 唯一 主键 外键 排他
主键
主键Primary Key是数据库表中用于唯一标识每一行记录的字段。主键具有以下特点
唯一性每个主键值在表中是唯一的不允许出现重复值。非空性主键字段的值不能为空即主键字段不能为null。不可更改性一旦主键值被分配给某行记录就不能再修改。
主键在数据库中起到了索引的作用可以提高查询效率。通常数据库表的每一行记录都应该有一个主键字段。常见的主键类型包括自增长整数如自增长的ID字段、GUID全局唯一标识符等。
主键约束指示一列或一组列可用作表中行的唯一标识符。这要求值既是唯一的又不是 null。因此以下两个表定义接受相同的数据
PostgreSQL中的主键
PostgreSQL中的主键是用于唯一标识表中记录的一列或一组列。主键具有以下特点
主键必须是唯一的每个记录必须有一个唯一的主键值。主键不能为NULL每个记录必须有一个非空的主键值。主键可以由一列或多列组成。主键可以用来引用其他表中的记录外键。主键值由数据库自动生成或由用户指定。
CREATE TABLE products (product_no integer UNIQUE NOT NULL,name text,price numeric
);CREATE TABLE products (product_no integer PRIMARY KEY,name text,price numeric
);主键可以跨越多个列;语法类似于 Unique Constraints
CREATE TABLE example (a integer,b integer,c integer,PRIMARY KEY (a, c)
);添加主键将自动在主键中列出的列或列组上创建唯一的 B 树索引并强制标记这些列NOT NULL。
一个表最多可以有一个主键。可以有任意数量的唯一和非空约束它们在功能上几乎相同但只能将一个约束标识为主键。关系数据库理论规定每个表都必须有一个主键。PostgreSQL 不强制执行此规则但通常最好遵循它。
主键对于文档和客户端应用程序都很有用。例如允许修改行值的 GUI 应用程序可能需要知道表的主键才能唯一地标识行。如果已声明主键数据库系统还可以通过多种方式使用主键;例如主键为引用其表的外键定义默认目标列。
除了在创建表时定义主键还可以使用以下语法在已有的表中添加主键
ALTER TABLE table_name
ADD CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ...);
在上述语法中constraint_name是主键约束的名称column1, column2, …是主键列的名称。
使用主键可以提高数据的检索效率并确保数据的完整性和唯一性。