摘要: 1.1.1 唯一约束 唯一约束保证在一列中或者一组列中保存的数据在表中所有行间是唯一的。 写成一个列约束的语法是: CREATE TABLE products ( product_no integer UNIQUE, name text, price numeric ); 写成一个表约束的语法是: 阅读全文
posted @ 2020-12-26 23:47 bufuzhou 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 1.1 约束 数据类型只是初范的约束。 列的check可以做到具体的约束(满足表达式的布尔值 true/null) 列约束、表约束;都可以指定自定义的约束名(CONSTRAINT),列约束只能是本列。 一个非空约束仅仅指定一个列中不会有空值,作为列约束。 多个列约束顺序没有影响。 数据类型是一种限制 阅读全文
posted @ 2020-12-26 22:37 bufuzhou 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 生成列的值是其他列的值计算出来的(视图于表); 生成列是存储列(物化视图,写时算)或虚拟列(普通视图,查时算),PostgreSQL目前只实现了存储生成列; 生成的列是一个特殊的列,它总是从其他列计算而来。它对于列就像视图对于表一样。 生成列有两种:存储列和虚拟列。 存储生成列在写入(插入或更新)时 阅读全文
posted @ 2020-12-26 00:43 bufuzhou 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 默认值(default指定)可以缺省使用,可以指定(DEFAULT)使用; 默认值常用在时间戳记录(now()、CURRENT_TIMESTAMP)和序列生成(nextval()、SERIAL); 一个列可以被分配一个默认值。当一个新行被创建且没有为某些列指定值时,这些列将会被它们相应的默认值填充。 阅读全文
posted @ 2020-12-26 00:42 bufuzhou 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 表基础 有行有列,列有列名,列是固定的,行数有增有减的。 SQL并不保证表中行的顺序。当一个表被读取时,表中的行将以非特定顺序出现,除非明确地指定需要排序。 每一列都有一个数据类型(大类数据约束)。 建表 create table ,删表 drop table, 一般建表前删表。 SQL不会为行分配 阅读全文
posted @ 2020-12-26 00:40 bufuzhou 阅读(111) 评论(0) 推荐(0) 编辑