postgreSql 基本操作总结
0. 启动pgsl数据库
pg_ctl -D /xx/pgdata start
1. 命令行登录数据库
|
1
|
psql -U username -d dbname -h hostip -p port |
2. 列出所有数据库
\l
3. 切换数据库
|
1
|
\c dbname |
4. 列出当前数据库的所有表
\d
5. 查看指定表的所有字段
|
1
|
\d tablename |

6. 查看指定表的基本情况
|
1
|
\d+ tablename |

7. 退出操作
|
1
|
q |
8. 新建表
例1(主键)

create table TESTCASE(
id INTEGER,
task_class INTEGER,
age TEXT,
PRIMARY KEY(id, task_class)
);

例2(自增SERIAL)
create table CREATETASK_CHKID_N(
id SERIAL PRIMARY KEY,
chk_id TEXT,
n INTEGER
);
其中SERIAL代表自增,默认从1开始增加,每次自增1。
9. 删除表
|
1
|
drop table REL_CROSS_NODE; |
10. 清空表
delete from [表名]
or
TRUNCATE TABLE [表名]
区别:Truncate table 表名 (注:不带where语句) 速度快,而且效率高。
因为DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放
11. 添加字段
|
1
|
alter table [表名] add column [字段名] [类型]; |
12. 更改字段
alter table [表名] rename column [旧字段名] to [新字段名]; 例:把表table_ex字段col_1限制非空去掉:ALTER TABLE table_eg ALTER col_1 drop not NULL
12.1 更改字段属性,含空格
如果把字段colname把属性Text转化为int,原来text里面存在空啥的,可以
ALTER TABLE tablename ALTER COLUMN colname TYPE int USING (trim(colname)::integer);
12.2 更改字段由int4-->int8
alter table test_data alter column task_id type bigint using task_id::bigint
13. 删除字段
|
1
|
alter table [表名] drop column [字段名]; |
14. 表中插入一行数据
|
1
|
insert into [表名] (字段1,字段2) values (值1,值2); |
例如:
|
1
|
insert into assist_info (id, maat_id, block_type) values ('F006', 'F7775', 1) |
注:
- 如果表中字段有大写的字段,则需要对应的加上双引号。例:insert into test (no, "Name") values ('123', 'jihite');
- 值用单引号引起来(''),不能用双引号("")
15. 表中删除一行数据
|
1
|
delete from [表名] where [该行特征]; |
16. 修改表中数据
|
1
|
update [表名] set [目标字段名]=[目标值] where [该行特征] |
17. 删除表
|
1
|
drop table [表名]; |
18. 退出postgreSql
\q
19. 两个查询结果做差 except
|
1
2
3
4
5
|
(select node_id from node where node_id=1 or node_id=2) except (select node_id from node where node_id=1); node_id--------- 2(1 row) |
20. 复制表
CREATE TABLE test_a_copy AS SELECT * FROM test_a;
21.命令导入sql数据文件
psql -h localhost -d databaseName -U username -f filename
22. 查询结果存储到输出文件
格式:
\o file_path
这样就会把查询结果存储到输出文件中。例
postgres=> \o /home/jihite/data/iu_data;
postgres=> select test_id from cdb_all_iu_data limit 10;
postgres=> select test_id from cdb_all_iu_data limit 5;
结果

test_id
--------------
2143
2153
2144
2156
2145
2154
2146
2157
2147
2155
(10 rows) test_id
--------------
2143
2153
2144
2156
2145
(5 rows)

23. 数据库的备份&恢复
导出到线下文件
pg_dump --host hostname --port port --username username -t tablename -d dbname >/home/jihite/table.sql
把线下文件导入到数据库
psql -h 10.125.7.68 -p 5432 -d postgres -U postgres -W postgres -f 2.sql
24. \x

postgres=> \x
Expanded display is on.
postgres=> select * from cdb_chk_items where chk_id = 'R000000335';
-[ RECORD 1 ]+------------------------------------------------------------------------------------------------
chk_id | R000000335
chk_desc | 道路属性与道路属性相关检查
chk_info | {"FIELDS": {"TRAFFIC_SIGN": ["TYPE", "GEOM"], "ROAD_LINK": ["ROAD_CLASS", "FORM_WAY", "GEOM"]}}
err_desc | {"ERR2": "roadclass取值错误", "ERR1": "formway取值错误"}
chk_level | 1
is_opened | 1
module_name | TRAFFIC_SIGN
invalid_flag | 1
rel_mode | MAIN_LAYER:TRAFFIC_SIGN
: TRAFFIC_SIGN|A,M|DIRECT
: ROAD_LINK|A,M,D|ATTR_REL

25. 从表A中把符合条件的记录拷贝到表B
insert into A select * from B where id in ('a', 'b', 'c');
26 建立索引
单字段索引
CREATE INDEX index_name ON table_name (field1);
多字段索引
CREATE INDEX index_name ON table_name (field1,field2);
查看所有表的索引使用情况

select
relname, indexrelname, idx_scan, idx_tup_read, idx_tup_fetch
from
pg_stat_user_indexes
order by
idx_scan asc, idx_tup_read asc, idx_tup_fetch asc;

查看某个表索引的使用情况

select
relname, indexrelname, idx_scan, idx_tup_read, idx_tup_fetch
from
pg_stat_user_indexes
where
relname = table_name
order by
idx_scan asc, idx_tup_read asc, idx_tup_fetch asc;

27. 超找数据库的连接信息
select * from pg_stat_activity
包含:客户端user、ip、执行语句,状态、时间
postgreSql 基本操作总结的更多相关文章
- postgresql基本操作:查看数据库、索引、表、表空间大小
一.简介 PostgreSQL 提供了多个系统管理函数来查看表,索引,表空间及数据库的大小,下面详细介绍一下. 二.数据库对象尺寸函数 函数名 返回类型 描述 pg_column_size(any) ...
- PostgreSQL基本操作
列出当前数据库所有表 \dt 列出表名 SELECT tablename FROM pg_tables; WHERE tablename NOT LIKE 'pg%' AND tablename NO ...
- PostgreSQL自学笔记:3 数据库的基本操作
3 数据库的基本操作 3.1 创建数据库 3.1.1 使用对象浏览器创建数据库 [Server] -> PostgreSQL 9.6 -> 数据库,右击 -> 创建 通常: 数据库: ...
- PostgreSQL基础知识与基本操作索引页
磨砺技术珠矶,践行数据之道,追求卓越价值 返回顶级页:PostgreSQL索引页 luckyjackgao@gmail.com 本页记录所有本人所写的PostgreSQL的基础知识和基本操作相关文摘和 ...
- 一、Postgresql的基本操作
---------------------------------------------------------------------------------------------------- ...
- postgreSql基础命令及linux下postgreSql命令
(1)用户实用程序: createdb 创建一个新的PostgreSQL的数据库(和SQL语句:CREATE DATABASE 相同) createuser 创建一个新的PostgreSQL的用户(和 ...
- 关于ubuntu服务器上部署postgresql 以及安装pgadmin4管理工具(web版)
进入目录:cd pgadmin4 source bin/activate cd pgadmin4-1.6/ 启动pgadmin4:python web/pgAdmin4.py pgadmi ...
- Centos 7.3 安装配置 PostgreSQL 9.x
一.安装 PostgresSQL Centos 7 自带的 PostgresSQL 是 9.2 版的.因为,yum 已经做了国内源,速度飞快,所以直接就用 yum 安装了.依次执行以下命令即可,非常简 ...
- Django--ORM基本操作
一.字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 pr ...
随机推荐
- idea Maven项目找不到相关依赖包(红色波浪线)
前两天做项目的时候,把团队其他人的代码从git同步到自己电脑上,出现了冲突.发现是maven依赖出现了问题,之前的截图找不到了,我就简单描述一下.就是下图箭头所示位置出现了红色波浪线. 在网上找了很多 ...
- SQL SERVER-创建Alwayson
Failover Custer(AlwaysOn) 创建Failover Cluster和启动AlwaysOn 创建Failover Cluster 节点的个数要是奇数如果是偶数则要加一个仲裁磁盘.在 ...
- SQL学习笔记---非select操作
非select命令 数据库 1.创建 //create database 库名 2.删除 //drop database 库名,... 2.重命名//exec sp_renamedb ...
- 解决CSDN需要登录才能看全文
本来今天学习遇到一些问题,在网上翻着博客,突然在csdn里就提示要登录才能看全文. 看了下页面源码博客内容已经拿到本地了,只是加了一层罩,也是挺无语的,暂时先用这种方法解决吧: (function() ...
- java 图片处理 base64编码和图片二进制编码相互转换
今天在弄小程序项目时,涉及上传图片的更改. 以下是代码: /** * -> base64 * @param imgFile * @return * @throws IOException */ ...
- vuex 状态管理 通俗理解
解释:集中响应式数据管理,一处修改多处使用,主要应用于大中型项目. 安装: 第一:index.js:(注册store仓库) npm install vuex -D // 下载vuex import V ...
- git 解决多人修改相同的文件导致的冲突
git冲突处理 (场景:A和B修改相同的文件,A先提交到远程仓库,然后B提交push报错,远程仓库有更改,git自动合并失败,需要手动合并 提示错误:Automatic merge faile ...
- Tomcat FAIL - Deploy Upload Failed, Exception: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (110960596) exceeds the confi
https://maxrohde.com/2011/04/27/large-war-file-cannot-be-deployed-in-tomcat-7/ Go to the web.xml of ...
- Django-4 视图层
视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . ...
- qsort.c源码
/* 版权所有(C) 1991-2019 自由软件资金会. 该文件属于是GUN C语言函数库,由Douglas C. Schmidt(schmidt@ics.uci.edu)所写. GUN C语言函数 ...