文章分类 -  数据库(mysql,oracle,sqlServer)

摘要:这里只讲述oracle相关的功能,其实PostgreSQL也有类似的功能。 Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个组返回多行,而聚合函数对于每个组只返回一行。 常用类型:OVER(PARTITION BY... ORDER B 阅读全文
posted @ 2018-07-04 21:24 小码农成长记 阅读(697) 评论(0) 推荐(0) 编辑
摘要:Oracle的trunc和dbms_random.value随机取n条数据 有一张号码表,每次需要从这样表中随机取6个空闲的号码,也就是每次取出来的6个号码应该都会有所不同: 附: 一、oracle trunc()函数的用法 TRUNC(for dates) 精确到天 select trunc(sy 阅读全文
posted @ 2017-10-14 11:35 小码农成长记 阅读(373) 评论(0) 推荐(0) 编辑
摘要:如何判断一条数据库语句查询时候是否调用了索引。 explain关键字放在查询语句的最前面, 例如: explain select * from t_cust where xx = xx and xx = xx; 然后数据库就会对这个语句的执行过程进行分析,我们就可以从结果里面分析出这条语句是否调用了 阅读全文
posted @ 2017-07-04 21:08 小码农成长记 阅读(164) 评论(0) 推荐(0) 编辑
摘要:摘自网上的文章,只有部分是验证过,先记下,后期试一下: 由于在参与的实际项目中发现当mysql表的数据量达到百万级时,普通SQL查询效率呈直线下降,而且如果where中的查询条件较多时,其查询速度简直无法容忍。曾经测试对一个包含400多万条记录(有索引)的表执行一条条件查询,其查询时间竟然高达40几 阅读全文
posted @ 2017-07-04 21:06 小码农成长记 阅读(118) 评论(0) 推荐(0) 编辑
摘要:示例: SELECT t.companycode, to_number(to_char(t.intime,'YYYY')) bgYear, t.intime FROM drug WHERE t.isW = 1 解析: to_char(t.intime,'YYYY') //将时间intime进行格式化 阅读全文
posted @ 2017-07-04 20:57 小码农成长记 阅读(263) 评论(0) 推荐(0) 编辑
摘要:Merge into 用法: 在进行SQL语句编写时,我们经常会遇到大量的同时进行Insert/Update的语句 ,也就是说当存在记录时,就更新(Update),不存在数据时,就插入(Insert)。 有一个表T,有两个字段a、b,我们想在表T中做Insert/Update,如果条件满足,则更新T 阅读全文
posted @ 2017-07-04 20:43 小码农成长记 阅读(111) 评论(0) 推荐(0) 编辑
摘要:示例3:decode INSERT INTO org (uuid, unit, status) SELECT t.uuid, '无' unit, decode(t.datastatus, 1, 0, 1) status, FROM drug.company t WHERE t.name= 1; // 阅读全文
posted @ 2017-07-04 20:41 小码农成长记 阅读(108) 评论(0) 推荐(0) 编辑
摘要:示例1: SELECT * FROM ssfdp_organization t WHERE NOT EXISTS (SELECT 1 FROM ssfdp_area a WHERE a.areaid = t.parentid); 是指:查出所有organization的parentid与area的a 阅读全文
posted @ 2017-07-04 20:07 小码农成长记 阅读(109) 评论(0) 推荐(0) 编辑
摘要:(1)字段解释注解 comment on column ORG.name is'江苏南; comment on column ORG.areaname is'南极'; 语法:comment on column 表名.字段 is'字段值'; (2)表的修改 字段修改: ALTER TABLE ORG 阅读全文
posted @ 2017-07-04 19:50 小码农成长记 阅读(1104) 评论(0) 推荐(0) 编辑
摘要:数据库优化主要从2方面阐述:表的设计优化与sql语句的优化 一、表的设计与优化 1、表与表之间是否有交叉 2、是否大批量的对数据进行插入修改 3、是否有大数据量的查询,表与表之间的合并 4、索引的建立(sql语句中的查询条件要与表中的索引建立的顺序一致,如索引:testPlanId, userId, 阅读全文
posted @ 2017-07-04 19:29 小码农成长记 阅读(87) 评论(0) 推荐(0) 编辑
摘要:首先给出一个例子: 从网上找了一个例子,用以参考: 1、select regexp_replace(areaname,'区','jiangsu',1,0,'i') from ssfdp_area t 语法解析: regexp_replace(1,2,3,4,5,6) 语法说明:1:字段 2:替换的字 阅读全文
posted @ 2017-06-25 23:08 小码农成长记 阅读(1186) 评论(0) 推荐(0) 编辑
摘要:(1)首先补充说明一点,关于<!CDATA[ ]> <![CDATA[SELECT t.permission FROM ssfdp_resource t WHERE 'true' = lower(t.available) AND 0 < instr(?,concat(',',concat(t.res 阅读全文
posted @ 2017-03-27 14:46 小码农成长记 阅读(1018) 评论(0) 推荐(0) 编辑
摘要:1、插入(insert)数据库: (1)直接插入,数据是全新的,不涉及其他表中已存在的信息,其中sysdate()获取当前日期(格式如:2017-09-09 12:09:09) INSERT INTO sys_user_group(loginId,groupId,intime,opuserid) V 阅读全文
posted @ 2017-03-21 23:11 小码农成长记 阅读(1344) 评论(0) 推荐(0) 编辑
摘要:一、mysql中子查询与百分率的用法 子查询:select (select pe.pname from people pe where pe.pid=j.id) name from job j where j.id='1' ; 讲解:一般来说,在mysql中,表与表之间的关联,不要用join来解决, 阅读全文
posted @ 2016-11-27 23:21 小码农成长记 阅读(534) 评论(0) 推荐(0) 编辑