Postgresql中常用sql语句

--​ 1.查询PostgreSql版本
select version();  

-- 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://blog.youkuaiyun.com/dbsjack/article/details/102737888)

转自:PostgreSQL 修改表字段常用命令

--数据库、模式、表名 "identities"."Test"."tab_test"

--修改字段名
ALTER TABLE "identities"."Test"."tab_test"  RENAME "u_name"  to realname ;

--添加字段
ALTER TABLE "identities"."Test"."tab_test"  ADD COLUMN 字段名 VARCHAR(50);

--添加字段  给默认值 
ALTER TABLE "identities"."Test"."tab_test"   ADD COLUMN 列名  INT DEFAULT(1);

--字段注解
COMMENT ON COLUMN "identities"."Test"."tab_test"."utype"  IS '类型 1为普通 2为高级';

--修改字段类型
ALTER TABLE "identities"."Test"."tab_test" alter  COLUMN  列名  type VARCHAR(50) ;

--删除非空约束
ALTER TABLE "identities"."Test"."tab_test"  ALTER COLUMN 列名  drop not NULL;

--添加主键
ALTER TABLE "identities"."Test"."tab_test"  ADD PRIMARY KEY ("id");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值