postgresql----数据库表约束----NOT NULL,DEFAULT,CHECK详解

数据库表有NOT NULL,DEFAULT,CHECK,UNIQUE,PRIMARY KEY,FOREIGN KEY六种约束。 一、NOT NULL ---- 非空约束 NULL表示没有数据,不表示具体的数值,所以在数据库中NULL是不...

postgresql----数据库表约束----PRIMARY KEY详解

五.PRIMARY KEY ---- 主键约束 主键可以是单个字段,也可以是多个字段的组合。主键约束其实是UNIQUE和NOT NULL约束的组合,即主键必须是唯一,且各字段都是NOT NULL的。   1.创建测试表...

postgresql----数据库表约束----FOREIGN KEY详解

六、FOREIGN KEY ---- 外键约束 外键可以是单个字段,也可以是多个字段。所谓的外键约束就是引用字段必须在被引用字段中存在,除非引用字段部分为NULL或全部为NULL(由MATCH TYPE决定),否则INSERT或UPDAT...

postgresql----TEMPORARY TABLE和UNLOGGED TABLE详解

一.TEMPORARY|TEMP TABLE 会话级或事务级的临时表,临时表在会话结束或事物结束自动删除,任何在临时表上创建的索引也会被自动删除。除非用模式修饰的名字引用,否则现有的同名永久表在临时表存在期间,在本会话或事务中是不可见的。...

postgresql----继承表INHERITS PARENT TABLE详解

  使用INHERITS创建的新表会继承一个或多个父表,子表只会继承父表的表结构和NOT NULL,DEFAULT,CHECK三种约束,主键,外键和唯一键以及索引不会被继承,所以修改父表的结构(增删字段),NOT NULL,DE...

postgresql----表分区详解

--下面的描述不记得在哪里抄来的了?! 表分区就是把逻辑上一个大表分割成物理上的多个小块,表分区可提供如下若干好处: 1.某些类型的查询性能可以得到极大提升。 2.更新的性能可以得到提升,因为表的每块索引要比整个数据集上的索引要小,如...

postgresql----根据现有表创建新表详解

除普通的建表语句"create table table_name(columns);"之外,还可以根据现有表快速的创建新表: 一.使用create table ... (like ...)创建一个和原表结构相同的新表,根据INCLUDIN...

postgresql----INSERT详解

INSERT即向表中写入数据,每条INSERT语句可以写入一条数据,也可以写入多条数据。另外还可以将其他的查询结果集用在INSERT中,将查询结果写入表中。 测试表 test=# create table tbl_insert(a...

postgresql----SELECT详解

示例1.简单查询 使用*查询表所有的字段,也可以指定字段名查询 test=# select * from tbl_insert; a | b ---+---- 3 | sd 4 | ff (2 rows)...

postgresql----LIKE和SIMILAR TO详解

LIKE和SIMILAR TO都支持模糊查询,另外SIMILAR TO还支持正则表达式查询。模糊查询中有两个重要的符号:下划线'_'匹配任意单个字符,百分号'%'匹配任意多个字符,可以是0个,如果想匹配'_'和'%',必须在'_'和'%'前...