原文
一、连接数据库
psql -h 192.168.0.134 -U kong -d kong
输入密码
二、用户权限操作
1、列举数据库:\l或SELECT datname FROM pg_database;
2、选择或切换数据库:\c 数据库名
3、查看该某个库中的所有表:\dt或\d 数据库名
4、查看某个库中的某个表结构:\d 表名
5、查看某个库中某个表的记录:select * from apps limit 1;
6、显示字符集:\encoding
7、查看帮助:help
8、退出psgl:\q
9、password test // 重新设置用户test的密码,然后需要 \q退出后才生效
10、创建用户:CREATE USER test WITH PASSWORD '*****';
11、删除用户:drop User 用户名
12、给用户设置密码:alter user test password ‘123456’;
13、查看所有用户:SELECT * FROM pg_roles;
三、库表操作
1.创建数据库:
create database [数据库名];
2。删除数据库:
drop database [数据库名];
3.创建表:
create table ([字段名1] [类型1] ;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;);
4.在表中插入数据:
insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......);
5.查看表内容:
select * from student;
6.重命名一个表:
alter table [表名A] rename to [表名B];
7.删除一个表:
drop table [表名];
8.在已有的表里添加字段:
alter table [表名] add column [字段名] [类型];
9.删除表中的字段:
alter table [表名] drop column [字段名];
10.重命名一个字段:
alter table [表名] rename column [字段名A] to [字段名B];
11.给一个字段设置缺省值:
alter table [表名] alter column [字段名] set default [新的默认值];
12.去除缺省值:
alter table [表名] alter column [字段名] drop default;
13.修改表中的某行某列的数据:
update [表名] set [目标字段名]=[目标值] where [该行特征];
14.删除表中某行数据:
delete from [表名] where [该行特征];
delete from [表名]; // 删空整个表
四、启停操作
/usr/pgsql-13/bin/pg_ctl -D /home/pgsql-13/data -l logfile start #启动
/usr/pgsql-13/bin/pg_ctl -D /home/pgsql-13/data -l logfile stop #停止
/usr/pgsql-13/bin/pg_ctl -D /home/pgsql-13/data -l logfile reload #重启
五、备份与还原
pg_dump [OPTION]... [DBNAME]
– -h, --host=HOSTNAME : 连接到指定数据库主机地址
– -p, --port=PORT : 连接到指定数据库端口
– -U, --username=NAME : 连接使用的用户名
– -d, --dbname=DBNAME : 导出的数据库名字
– -a, --data-only:只导出数据
– -E encoding,--encoding=encoding:指定字符集编码
– -j, --jobs=NUM : 导出并发数
– -f, --file=FILENAME : 导出文件名
– -F, --format=p|c|d|t : 导出数据格式(text, 自定义转储格式,目录,tar)数据的兼容性用c更好。
– -n, --schema=schema:导出指定模式
– -t, --table=table:导出指定表(可以写多个表)
– -s, --schema-only:只导出对象定义不导出数据(只导出数据的定义)
– -Z0~9:使用gzip压缩(gzip 的压缩级别 9 压缩的级别最高)
– -c:创建对象前先删除(先drop)
– -C:创建对象
– --disable-triggers:禁用触发器(生成的备份文件加入禁用触发器的命令,导完数据后再启用)
- -S,--superuser=username:指定超级用户(disable-triggers 配合使用)
备份db数据里指定的表
pg_dump -d myDB -p 5432 -t test -Fp -f black_test.sql
将数据库的表还原
psql -f black_test.sql -d myDB -p 5432