sql
pqsql mysql
GodSure0914
这个作者很懒,什么都没留下…
展开
-
pgsql查询分组中某个字段最大或者最小的一条数据
小小sql可笑可笑原创 2022-06-24 10:00:24 · 5177 阅读 · 3 评论 -
pgsql根据函数名查询函数
select prosrc from pg_proc where proname=‘函数名’原创 2021-12-29 09:50:46 · 894 阅读 · 0 评论 -
pgsql可重复执行insert脚本
do$$ begin if not exists( ) then insert into end if; end;$$;原创 2021-12-29 09:49:18 · 916 阅读 · 0 评论 -
pgsql游标批量插入数据,id基于最大值自增
CREATE OR REPLACE FUNCTION bach_save_config(c_code text,c_name text,c_type text,c_value text,c_business_type_name text,c_memo text)RETURNS refcursor AS$BODY$declarec_org_id int8;orgid_list refcursor;c_id_plus int8 DEFAULT 1 ;isexist int8; BEGIN原创 2021-12-21 18:15:53 · 1033 阅读 · 0 评论 -
pgsql查询某个字母开头的数据
查询‘E’开头并且后八位都是数字的数据:select max(pat_card_no) from comm.pat_card where card_type_id=‘1’ and pat_card_no !~ ‘^E\d{8}$’原创 2021-12-14 15:09:03 · 3026 阅读 · 1 评论 -
pgsql查询不包含某个字母的数据
查询pat_card表中不包含‘E’的数据:select * from comm.pat_card where pat_card_no !~ ‘E’;原创 2021-12-14 15:08:17 · 3664 阅读 · 0 评论 -
pgsql查询包含某个字段的数据
–查询pat_card表中包含‘E’的数据select * from comm.pat_card where position(‘E’ in pat_card_no)>0原创 2021-12-14 14:48:06 · 4540 阅读 · 1 评论 -
sql秒备份表数据到另一个表
create table comm.user_20211112_pdasselect * from comm.user原创 2021-12-01 20:52:16 · 1137 阅读 · 1 评论 -
sql数据量较大时查询两表中不同的数据
当两个表数据量较大时,not in 和 not exist就不大适用了,很容易就查询超时了,我们可以换个思路,使用左连接进行查询:select * from a left join b on a,.id=b.id where b.** is null;原创 2021-11-30 18:37:00 · 1108 阅读 · 2 评论 -
PostgreSQL模糊查询优化之CONCAT函数的耗时问题
数据量240w,当使用CONCAT函数进行拼接模糊查询的时候耗时3s,当把两个CONCAT函数去掉直接换成 like ‘%%’ 的时候耗时2.3s左右,可以看到当数据量较大的时候拼接函数对查询速度造成的影响还是比较大的在mapper文件中可以用bind标签事先对入参进行拼接,然后再进行查询,经测试速度要比CONCAT函数快不少a.pat_name like #{test}...原创 2021-09-22 09:27:12 · 1942 阅读 · 0 评论 -
pgsql查询数据库中某个字段出现次数大于1的数据
select his_create_time,* from pat_card pc where pat_card_no in (select pat_card_no from pat_card group by pat_card_no having count(pat_card_no)>1)原创 2021-09-07 17:19:00 · 3116 阅读 · 0 评论 -
MySQL优化和原理分析课程免费分享速度存
课程介绍视频是MySQL高级进阶课程,为面试和工作提升必备课程。课程中以案例分析的形式进行MySQL优化的深度分析、以及介绍MySQL优化常用分析工具的使用。本套课程主要讲解MySQL优化和原理包括4大部分:一、MySQL存储原理和效率提升二、SQL优化和优化工具三、MySQL全面优化四、MySQL锁机制和优化原理,学习完本套课程,轻松应对工作和面试中对于MySQL优化的细节和原理分析。学习地址 :百度:https://pan.baidu.com/s/17Zdo9gDBBgc_X6fsXmOndw.原创 2021-05-26 08:47:08 · 159 阅读 · 1 评论 -
比Navicat还强大的数据库连接工具DBeaver7.1.0企业版xx版分享
今天看到一个大哥在用工具操作数据库,发现他用的工具比我的Navicat15(之前用的12后来下了个15的破解版发现没多大区别)要高大上很多,作为一个后端程序员,在B格上绝对不能输,“哥,软件名给俺说一下呗~~”DBeaver 是一个基于 Java 开发,免费开源的通用数据库管理和开发工具,使用非常友好的 ASL 协议。可以通过官方网站或者 Github 进行下载。由于 DBeaver 基于 Java 开发,可以运行在各种操作系统上,包括:Windows、Linux、macOS 等。DBeaver 采用原创 2021-05-18 09:35:15 · 2158 阅读 · 7 评论 -
PostgreSQL学习04--编写sql的最佳实践及注意事项
往期回顾:1.PostgreSQL学习01-常见SQL写法2.PostgreSQL学习02-调优必备之查看sql的执行计划(简单查看)3.PostgreSQL硬核学习03–执行计划简单深入(扫描节点)设计相关具体开发相关:原创 2021-05-07 11:15:05 · 215 阅读 · 3 评论 -
PostgreSQL硬核学习03--执行计划简单深入(扫描节点)
PostgreSQL学习01-常见SQL写法PostgreSQL学习02-调优必备之查看sql的执行计划(简单查看)1.EXPLAIN 语法在PostgreSQL 中,EXPLAIN 命令可以输出SQL 语句的查询计划,具体语法如下:EXPLAIN [ ( option [, …] ) ] statementEXPLAIN [ ANALYZE ] [ VERBOSE ] statementwhere option can be one of:ANALYZE [ boolean ]VERBOS原创 2021-05-04 12:00:52 · 988 阅读 · 0 评论 -
PostgreSQL学习02-调优必备之查看sql的执行计划(简单查看)
PostgreSQL学习01-常见SQL写法实际项目开发中,由于我们不知道实际查询的时候数据库里发生了什么事情,数据库软件是怎样扫描表、怎样使用索引的,因此,我们能感知到的就只有sql语句运行的时间,在数据规模不大时,查询是瞬间的,因此,在写sql语句的时候就很少考虑到性能的问题。但是当数据规模增大,如千万、亿的时候,我们运行同样的sql语句时却发现迟迟没有结果,这个时候才知道数据规模已经限制了我们查询的速度。所以,查询优化和索引也就显得很重要了。示例代码:Seq Scan on pg_proc(c原创 2021-04-29 08:39:03 · 1111 阅读 · 0 评论 -
PostgreSQL学习01-常见SQL写法
1.SQL分类:DDL— 数据定义语言(CREATE,ALTER,DROP,DECLARE)DML— 数据操纵语言(SELECT,DELETE,UPDATE,INSERT)DCL— 数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)2.DDL—数据定义语言-表创建表:create table if not exists schema.tablename (col1_id int8 not null,col2_name varchar(50) not nul原创 2021-04-28 10:03:48 · 772 阅读 · 0 评论 -
Postgresql:nested exception:operator does not exist: text[] @> character varying[]
下图是我执行的语句,放到navicat里面是可以正常执行的,navicat虽然是盗版的但是真的聪明~但是,把上面的语句放到mapper.xml文件里面就会提示以下错误bad SQL grammar []; nested exception is org.postgresql.util.PSQLException: ERROR: operator does not exist: text[] @> character varying[]mybatis个憨憨错误的把string_to_array原创 2021-04-25 13:41:35 · 2809 阅读 · 4 评论 -
PostgreSQL聚合函数实现将查到的多条数据合并为一条
业务场景:某个用户A对应多个科室的多个角色,角色名可能出现重复,比如中药房科室的药房人员角色和西药房科室的药房人员角色,这种情况下联查的话结果肯定会出现多条:A 中药房 药房人员A 西药房 药房人员A 中药库 药库人员而我想要的格式是(A,中药房-药房人员,西药房-药房人员,中药库-药库人员),寻找各种方法经历多次失败之后终于找到了方法,只需要通过PostgreSQL的聚合函数 string_agg做出以下修改(注意看我标注的地方)即可实现要求: mysql实现方法:g原创 2021-04-23 14:19:04 · 3992 阅读 · 1 评论 -
PostgresSQL查询数据中用逗号隔开的数据以及@>与<@的区别
使用场景,某个科室有很多类别1、类别2、类别3三个类别,存到数据库中的数据是 ‘1,2,3’ 我要查找选了类别1的数据对于这种需求在mysql中用FIND_IN_SET或者正则表达式可以实现,但是我在pgsql中试了下好像不怎么生效,所以我们要先用string_to_array把字段隔开然后再用@>查询包含某个字符的数据,如下图所示,我们看到包含2的都被查了出来。在pgsql中,@>的意思包含,除此之外还有<@,可以理解为包含于某字段,是当我把@>换成了<@的时候可以原创 2021-04-22 10:39:04 · 3660 阅读 · 3 评论 -
PGSQL 模糊查询不区分大小写
PostgreSQL 和 MySql在字母的模糊查询上是不一样的,mysql的like是不区分大小写的,但是PostgreSQL 是区分的,要想做到不区分大小写需要使用ILIKE进行查询。原创 2021-04-13 10:21:19 · 2163 阅读 · 0 评论 -
java+Nutz多条件筛选实现满足and的情况下满足多个or
功能要求,在搜索框输入多个关键词并用空格隔开,查询到包含多个关键词的所有信息。后端处理: //分隔空格 String [] arr = bean.getColumnValue().split("\\s+"); SqlExpressionGroup exps=null; for (int k=0;k<arr.length;k++){ if (k==0){原创 2021-02-23 16:30:02 · 717 阅读 · 0 评论 -
CentOS7安装mysql5.7
https://blog.51cto.com/13043516/2093766亲测可用原创 2020-08-13 14:44:35 · 118 阅读 · 0 评论