PostgreSQL常用初级技能树
1.创建表需要id自增
设置serial即可,示例: id serial not null
2.创建表没有设置后面想要再设置自增
给test表设置一个自增序列test_id_seq
CREATE SEQUENCE test_id_seq START 10;
然后在设计表中添加 nextval('test_id_seq'::regclass)
test_id_sql test为表名,start 10,10为索引,从索引开始自增
3.创建时序表
CREATE TABLE conditions (
time TIMESTAMPTZ NOT NULL,
location TEXT NOT NULL,
temperature DOUBLE PRECISION NULL
);
使用 create_hypertable 函数将 postgres 标准表转化为 hypertable
create_hypertable 有两个参数,第一个参数是表名,第二个参数是分区列,一般为 TIMESTAMPTZ 类型
SELECT create_hypertable('conditions', 'time');
4.分页查询
limit后为条数,offset后面为偏移量即索引
SELECT * FROM test_table limit 100 OFFSET 1000;
5.sql中string类型转换为integer类型
使用cast函数,比如把count string类型转为integer类型
cast(count as integer)
6.sql查询想要查询统计一小时以内的数据
使用to_char函数,比如按时间time查,统计一小时
select * from test group by to_char(time, 'yyyy-mm-dd hh24')
如果想要按天查就把yyyy-mm-dd hh24改为yyyy-mm-dd,查询分秒亦是如此
7.获取字符所在位置
使用position函数,返回目标字符串笫一次出现的位置,如获取字符'-'在name字段的位置
position('-' in name)
也可使用strpos函数,该函数的作用是声明子串的位置,如获取字符'-'在name字段的位置
strpos(name,'-')
8.截取字符串
使用substring函数,如截取name字段从头到5个字符
substring(name,0,5)
结合第7条,比如截取name字段从头到'-'字符所在位置
substring(name,0,position('-' in name))
9.连接字段查询显示
比如想要名称和ip一块显示,如:

则可以使用字符串连接符||
所以如上用'-'连接就可以写成 select 名称||'-'||ip from table

PostgreSQL常用初级技能树的更多相关文章
- [转] postgresql常用命令
PS: 数据库安装后,里面的每个数据库有自己的用户密码,需要dump的时候,指定用户pg_dump -U xxx <数据库> > 某个地址 最近一直在学习Postgresql,下面 ...
- postgresql 常用数据库命令
连接数据库, 默认的用户和数据库是postgrespsql -U user -d dbname 切换数据库,相当于MySQL的use dbname\c dbname列举数据库,相当于mysql的sho ...
- postgresql常用命令
1.createdb 数据库名称 产生数据库2.dropdb 数据库名称 删除数据库 3.CREATE USER 用户名称 创建用户4.drop User 用户名称 删除用户 5.SELECT use ...
- 关于postgresql——常用操作指令
创建数据库 CREATE DATABASE test WITH OWNER = postgres ENCODING = 'UTF8'; 进入控制台方法,在postgreSQL的安装目的bin下执行命令 ...
- PostgreSQL 常用系统自带方法
数据库字符编码问题: -- 查看PostgreSQL数据库服务器端编码: show server_encoding; -- 查看PostgreSQL客户端工具psql编码: s ...
- postgreSql 常用操作总结
0. 启动pgsl数据库 pg_ctl -D /xx/pgdata start 1. 查看pgsl版本 pg_ctl --version 1. 命令行登录数据库 psql -U username -d ...
- postgresql 常用速查
中文资料 中文资料 /**gp中的基本sql语法**/ --删除表 drop table testtb; --创建表 CREATE TABLE testtb ( id integer, "n ...
- postgresql 常用命令
普通用法: sudo su - postgres 切换到postgres用户下: psql -U user -d dbname 连接数据库, 默认的用户和数据库是postgres \c dbname ...
- postgresql常用操作
需要安装的软件包: apt-get install postgresql postgresql-client-9.1 postgresql-common postgresql-9.1 postgres ...
随机推荐
- WPF 文本描边+外发光效果实现
解决思路: (1)描边效果可以将文本字符串用GDI+生成Bitmap,然后转成BitmapImage,再用WPF的Image控件显示. (2)外发光效果用WPF自带的Effect实现 代码: 1 us ...
- 解决jira配置gmail邮箱报错
具体报错: AuthenticationFailedException: 535-5.7.8 Username and Password not accepted. Learn more at 535 ...
- STM32芯片去除读写保护 | 使用ST-Link Utility去除STM32芯片读写保护
1.使用ST-LINK V2下载器连接到STM32芯片, 点击Connect: 2.存在读保护: 3.修改选项字节(Option Bytes... ): 4.将读保护修改为Disabled. 5.打钩 ...
- Java IO流处理
字节流是由字节组成的;字符流是由字符组成的Java里字符由两个字节组成. 1字符=2字节JAVA中的字节流是采用ASCII编码的,字符流是采用好似UTF编码,支持中文的 Java IO流处理 面试题汇 ...
- SynchronizedMap 和 ConcurrentHashMap 有什么区别?
SynchronizedMap 一次锁住整张表来保证线程安全,所以每次只能有一个线程来 访为 map. ConcurrentHashMap 使用分段锁来保证在多线程下的性能. ConcurrentHa ...
- Java 中的同步集合与并发集合有什么区别?
同步集合与并发集合都为多线程和并发提供了合适的线程安全的集合,不过并发 集合的可扩展性更高.在 Java1.5 之前程序员们只有同步集合来用且在多线程并发 的时候会导致争用,阻碍了系统的扩展性.Jav ...
- 说说对 SQL 语句优化有哪些方法?
1.Where 子句中:where 表之间的连接必须写在其他 Where 条件之前,那些可 以过滤掉最大数量记录的条件必须写在 Where 子句的末尾.HAVING 最后. 2.用 EXISTS 替代 ...
- 如何理解 Spring 中的代理?
将 Advice 应用于目标对象后创建的对象称为代理.在客户端对象的情况下,目 标对象和代理对象是相同的. Advice + Target Object = Proxy
- Netty学习摘记 —— 再谈ChannelHandler和ChannelPipeline
本文参考 本篇文章是对<Netty In Action>一书第六章"ChannelHandler和ChannelPipeline",主要内容为ChannelHandle ...
- 遇到的问题之“Dubbo 直连 Invoke remote method timeout 问题!”
Dubbo 直连 Invoke remote method timeout 问题! 在测试环境消费者直连服务端进行测试时, 其中一个RPC接口抛出一个错误, 如下: Caused by: com. ...