postgreSql 常用操作总结
0. 启动pgsl数据库
pg_ctl -D /xx/pgdata start
1. 查看pgsl版本
pg_ctl --version
1. 命令行登录数据库
psql -U username -d dbname -h hostip -p port
2. 列出所有数据库
\l
3. 切换数据库
\c dbname
4. 列出当前数据库的所有表
\d
5. 查看指定表的所有字段
\d tablename
6. 查看指定表的基本情况
\d+ tablename
7. 退出操作
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. 删除表
drop table REL_CROSS_NODE;
10. 清空表
delete from [表名]
or
TRUNCATE TABLE [表名]
区别:Truncate table 表名 (注:不带where语句) 速度快,而且效率高。
因为DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放
11. 添加字段
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. 删除字段
alter table [表名] drop column [字段名];
14. 表中插入一行数据
insert into [表名] (字段1,字段2) values (值1,值2);
例如:
insert into assist_info (id, maat_id, block_type) values ('F006', 'F7775', 1)
注:
- 如果表中字段有大写的字段,则需要对应的加上双引号。例:insert into test (no, "Name") values ('123', 'jihite');
- 值用单引号引起来(''),不能用双引号("")
15. 表中删除一行数据
delete from [表名] where [该行特征];
16. 修改表中数据
update [表名] set [目标字段名]=[目标值] where [该行特征]
17. 删除表
drop table [表名];
18. 退出postgreSql
\q
19. 两个查询结果做差 except
(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 ;
postgres=> select test_id from cdb_all_iu_data limit ;
结果
test_id
-------------- ( rows) test_id
-------------- ( 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——常用操作指令
创建数据库 CREATE DATABASE test WITH OWNER = postgres ENCODING = 'UTF8'; 进入控制台方法,在postgreSQL的安装目的bin下执行命令 ...
- postgresql常用操作
需要安装的软件包: apt-get install postgresql postgresql-client-9.1 postgresql-common postgresql-9.1 postgres ...
- Postgresql 常用操作
表所有者一括变更 select 'alter table public.'|| tablename ||' owner to appuser;' from pg_tables where tableo ...
- ORM常用操作
一般操作 专业官网文档 必会13条查询 <> all(): 查询所有结果 <> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <> get ...
- java集成开发环境常用操作集
1.简单搭建maven集成开发环境 一. Jetty安装 下载地址(包涵windows和Linux各版本,Jetty9需要JDK7):http://download.eclipse.org/j ...
- 我的Android进阶之旅------>温习Sqlite3的常用操作
前言;今天要写一个应用来调节系统的Brightness值,来改变系统的背光亮度.由于刚开始些的时候没有考虑Brightness的最小值,直接托动SeekBar到最小值(为0).瞬间,屏幕变成全黑,失败 ...
- 【三】用Markdown写blog的常用操作
本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...
- php模拟数据库常用操作效果
test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...
- Mac OS X常用操作入门指南
前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右) =鼠标左键 control+按下 ...
随机推荐
- JavaScript -- JSON.parse 函数 和 JSON.stringify 函数
JavaScript -- JSON.parse 函数 和 JSON.stringify 函数 1. JSON.parse 函数: 使用 JSON.parse 可将 JSON 字符串转换成对象. &l ...
- LeetCode算法题-Quad Tree Intersection(Java实现)
这是悦乐书的第260次更新,第273篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第127题(顺位题号是558).四叉树是树数据,其中每个内部节点恰好有四个子节点:top ...
- Jquery自动补全插件的使用
1.引入css和js <script src="js/jquery-ui.min.js"></script> <link href="cs ...
- 【Python 09】汇率兑换2.0-2(分支语句)
分支语句:根据判断条件选择程序执行路径 1.使用方法 if <条件1>: <语句块1> elif <条件2>: <语句块2> ... else: < ...
- centos下 telnet访问百度
先在命令行输入以下命令: telnet www.baidu.com 80 点击确认之后出现如下界面 然后接着输入以下两行命令 GET /index.html HTTP/1.1 Host: www.ba ...
- linux磁盘IO读写性能优化
在LINUX系统中,如果有大量读请求,默认的请求队列或许应付不过来,我们可以 动态调整请求队列数来提高效率,默认的请求队列数存放在/sys/block/xvda/queue/nr_requests 文 ...
- spring上下文和springMVC上下文的关系
查看原文
- CentOS 7 安装Kubernetes(单机版)
一.关闭CentOS自带的防火墙服务 # systemctl disable firewalld # systemctl stop firewalld 二.安装etcd和Kubernetes软件( ...
- 《JAVA程序设计》_第三周学习总结
20175217吴一凡 一.IDEA学生免费版申请后续 收到这个邮件,就说明你申请成功了,点这里进去就行了 点击接受 在下一个界面登录你之前注册的账号绑定许可证就行了,重新登录你的账号就有了一年的许可 ...
- spring boot整合mybatis基于注解开发以及动态sql的使用
让我们回忆一下上篇博客中mybatis是怎样发挥它的作用的,主要是三类文件,第一mapper接口,第二xml文件,第三全局配置文件(application.properties),而今天我们就是来简化 ...