pg:常用字段类型建表增删改查索引

Posted fardlyp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pg:常用字段类型建表增删改查索引相关的知识,希望对你有一定的参考价值。

pg

常用字段类型:

类型 存储长度 描述
int2/smallint 2字节 小范围整数
int4/integer 4字节 常用的整数
varchar(n) 变长 有长度限制
bool 1字节 true/false
timestamp 8字节 日期和时间(无时区)

 

 

 

 

 

 

 

主键:

指的是一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性。主键主要是用与其他表的外键关联,以及本记录的修改与删除。

建表:

create table stu_infolyd(

stu_id int4 primary key,      //主键
stu_name varchar(20),
stu_age int2,
health bool,
signtime timestamp);

修改表名:

alter table stu_infolyd rename to stulyd;

增:

insert into stulyd (stu_id,stu_name,stu_age,health,signtime)
values(201973001,‘张三‘,20,true,‘2020-06-08 11:46:00‘);

insert into stulyd (stu_id,stu_name,stu_age,health,signtime)
values(201973002,‘张三丰‘,21,true,‘2020-06-08 11:48:00‘);

insert into stulyd (stu_id,stu_name,stu_age,health,signtime)
values(201973003,‘Jack‘,21,true,‘2020-06-08 11:51:00‘);

删:

delete from stulyd where stu_name=‘Jack‘;

改:

update stulyd set stu_age=22 where stu_name=‘张三‘;

查:

select * from stulyd;

select stu_id,stu_name from stulyd where stu_age>21;

select * from stulyd order by signtime desc;

修改字段类型:

alter table stulyd alter column stu_name type varchar(10);

 

索引

索引是加速搜索引擎检索数据的一种特殊表查询。简单地说,索引是一个指向表中数据的指针。

索引的目的在于提高数据库的性能。在查询时,若没有提前的准备,系统将不得不逐行扫描整个表,以查找所有匹配的条目。如果表中有很多行,并且查询仅仅返回几行(可能是零或一行),这显然是一种低效的方法。但是如果系统已被指示在相应的列上建立索引,则可以使用更有效的方法来定位匹配的行。(类似字典目录)

创建索引

create index index_name on tbl_name;
//单列索引

create index index_name on tbl_name (col_name);

例:
create index index_id on stulyd (stu_id);
//组合索引

create index index_name on tbl_name (col1_name,col2_name);

例:
create index index_info on stulyd (stu_id,stu_name);
//唯一索引

create unique index index_name on tbl_name (col_name);

例:
create unique index unique_id on stulyd (stu_id);
//局部索引

create index index_name on tbl_name (col_name) where 条件;

create index index_name on tbl_name (col_name) (条件);

例:
create index index_name on stulyd (signtime) where signtime!=null;

create index index_name on stulyd (signtime) (signtime!=null);

删除索引:

drop index index_name;

什么情况下要避免使用索引?

索引不应该使用在较小的表上;(索引会增加数据库系统的开销)

索引不应该使用在有频繁的大批量的更新或插入操作的表上;(索引必须保持与数据表的同步)

索引不应该使用在含有大量的 NULL 值的列上;(?排序规则:NULL值会被归到一块)

索引不应该使用在频繁操作的列上。(索引必须保持与数据表的同步)

以上是关于pg:常用字段类型建表增删改查索引的主要内容,如果未能解决你的问题,请参考以下文章

MySQL代码建表增删改查(CRUD)

Django -- 一对多建表增删改查

ORM的单表增删改查

PHP : MySQLi面向过程操作数据库 连接建库建表增删改查关闭

Django单表增删改查-前后端不分离

MySql-表的概念DQL查询语句条件查询模糊查询分组函数单行处理函数连接查询笛卡尔积现象内外自连接子查询重要关键字建表增删改查