PostgreSql常用sql语句

–​ 1.查询PostgreSql版本和数据库表

select version();  

select * from pg_database;

– 2.​修改表名

alter table public.table_name rename to table_name2;

–修改列名

A1LTER TABLE public.表名 RENAME '列名' TO '新列名';

– 3.修改字段的默认值

ALTER TABLE 表名 ALTER COLUMN 列名 SET DEFAULT 默认值;
--例如:ALTER TABLE 表名 ALTER COLUMN 列名 SET DEFAULT '0';	

– 4.修改某个字段的值为null

update table_name set fin=null;--正常完成修改操作
× update table_name set fin is null;--报语法错误!!!

​-- 5.修改表中值为null的数据

update table_name set fin='0' where fin is null ; --正常完成修改操作
× update table_name set fin='0' where fin = null ; --不报语法错误,但修改条数是0,不起修改作用

– 6.修改字段的类型

alter table 表名 alter  COLUMN  列名 type varchar(255) ;

​-- 7.添加字段

ALTER TABLE 表名 ADD 字段名 varchar(36);

– 8.替换字段中的字符串内容

UPDATE public.表名 set signature =replace(signature,'/nyr/','/sfm/');

– 9.查询字符长度大于指定值得数据

select 列名 from public.表名 where CHAR_LENGTH("列名")>20

– 10.其他测试
–表中总共的记录数
select count(1) from table_name 32

select count(1) from table_name where d_sign is null 9       //32=9+23
select count(1) from table_name where d_sign is not null 23  //23=5+18
select count(1) from table_name where d_sign= '' 5
select count(1) from table_name where d_sign!='' 18

select count(1) from table_name where d_sign is null or d_sign='' 14  //32=14+18
select count(1) from table_name where d_sign is not null AND d_sign!='' 18

– 11. pgsql中regexp_split_to_table(arg1,arg2)函数
– 参数1:字段值(aa,bb,cc)
– 参数2:分割符(’,’)
–作用: 将字段中包含特定分隔符的值分割为一个多行的表
select * from regexp_split_to_table((‘aa,bb,cc’),’,’)
– 即可得到一个table且只有一列,
– 列名默认就叫regexp_split_to_table,
– 得到的结果如下:
– 相当于将
name – 列名
aa,bb,cc – 内容
–变为了
regexp_split_to_table <-列名
aa <-值
bb <-值
cc <-值
– 12. String_agg(arg1,arg2)函数
– 作用:和上边的regexp_split_to_table(arg1,arg2)相反,
– 是将多行字段值合并到一行中,相当于聚合函数
select String_agg(a.regexp_split_to_table,’,’) as agg from (select * from regexp_split_to_table((‘aa,bb,cc’),’,’)) a
– 得到的结果如下:
– 相当于将
regexp_split_to_table <-列名
aa <-值
bb <-值
cc <-值
– 变为了
agg <-列名
aa,bb,cc <-值
11.12 参考自:postgresql 字符串分割字段转列表查询

https://www.cnblogs.com/summer108/p/9563011.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值