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(用户名) 数据库名(缺省时同用户名);
网友评论