码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-06-08 20:45:34      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:组合索引   sele   其他   字节   唯一索引   创建索引   条件   ali   使用   

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:常用字段类型、建表、增删改查、索引

标签:组合索引   sele   其他   字节   唯一索引   创建索引   条件   ali   使用   

原文地址:https://www.cnblogs.com/fardlyp/p/13065075.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!