PostgreSQL常用命令

0 连接数据库

sudo -u postgres psql 

1 数据库查询常用命令

# 列出所有数据库,相当于MySQL的show databases
\l

# 切换数据库,相当于MySQL的use dbname
\c dbname

# 列出数据库所有表,相当于MySQL的show tables
\dt

# 列出当前数据库所有表,相当于MySQL的show tables
\d

# 查看表结构,相当于MySQL的 desc tblname, show columns for tblname
\d tblname

# 查看索引
\di

2 数据创建删改查操作

# 创建数据库
create database [数据库名];

# 删除数据库
drop database [数据库名];

3 数据表常用操作

# 创建数据表
create table [表名]([字段名1] [类型1] ;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>; );

# 重命名数据表
alter table [原表名] rename to [新表名]; 

# 删除数据表
drop table [表名];

# 清空数据表
delete from [表名];
或者
truncate table [表名];  #速度快,效率高

# 在已有的表里添加字段 
alter table [表名] add column [字段名] [类型]; 

#删除表中的字段: 
alter table [表名] drop column [字段名]; 

# 重命名一个字段  
alter table [表名] rename column [字段名A] to [字段名B]; 

# 给一个字段设置缺省值:  
alter table [表名] alter column [字段名] set default [新的默认值];

# 去除缺省值:  
alter table [表名] alter column [字段名] drop default; 

# 在表中插入数据 
insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......); 

# 修改表中的某行某列的数据
update [表名] set [目标字段名]=[目标值] where [该行特征]; 

# 删除表中某行数据 
delete from [表名] where [该行特征]; 

#删除字段
alter table [表名] drop column [字段名];

4 数据备份恢复常用操作

# 导入整个数据库
psql -U postgres(用户名)  数据库名(缺省时同用户名) < /data/dum.sql;

 
# 导出整个数据库
pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名)   >/data/dum.sql;

 
# 导出某个表
pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名)  -t table(表名) >/data/dum.sql;

 
# 压缩方法

一般用dump导出数据会比较大,推荐使用xz压缩,
压缩方法:xz dum.sql 会生成 dum.sql.xz 的文件

 
xz压缩数据倒数数据库方法
xzcat /data/dum.sql.xz | psql -h localhost -U postgres(用户名) 数据库名(缺省时同用户名);

你可能感兴趣的:(PostgreSQL常用命令)