
Oracle/mysql
数据库
Crzis
人生若只如初见,何事秋风悲画扇。
等闲变却故人心,却道故人心易变。
展开
-
Mysql事务隔离级别-简单易懂
1.读未提交一个事务,可以读取到其他事务没有提交的数据。 造成脏读。脏读:事务A,读取到事务B没有提交的数据,并使用了。但紧接着,事务B进行了回滚。那事务A读取到的就是脏数据,既脏读。2.读已提交一个事务,可以读取到其他事务提交的数据。 可能出现不可重复读。不可重复读:事务A开启事务,查询到id = 1的记录val = 1;事务B开启,对id = 1的记录,val改为2,然后提交事务B。事务A在提交前,再次查询id=1的记录,得到结果是val = 2。 跟事务刚开始时,结果原创 2022-04-13 15:30:21 · 1253 阅读 · 4 评论 -
Oracle使用as of timestamp 查询恢复表中一定时间之前的误删数据
在使用Oracle时,有时候会一不小心Delete错了某张表的某条数据,需要恢复的话,这时就可以使用as of timestamp时间戳查询删除之前表的数据,就可以用来恢复啦。首先介绍两个sql :select sysdate, sysdate-10/1440 from dual;select sysdate, cast((systimestamp - interval '10' m...原创 2019-03-22 17:34:45 · 44848 阅读 · 4 评论 -
oracle查询语句中双引号的作用
首先看一个查询语句:从图中可以看出,不用双引号设置的别名,oracle解析查询出的结果字段,依旧是大写。再看使用双引号:在使用双引号之后,查询出的结果字段就变为了小写。双引号,会将别名解析成双引号里的 内容及格式 ,一般会用在最外层的select子句中,保证列名的大小写是你想要的结果。 ...原创 2018-12-07 14:57:39 · 1593 阅读 · 0 评论 -
索引失效原因记录
查找网上许多博客,方便以后查阅,在此记录总结:1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因)2.对于多列索引,不是使用的第一部分,则不会使用索引3.如果预估使用全表扫描要比使用索引快,则不使用索引4.隐式转换导致索引失效.这一点应当引起重视.也是开发中经常会犯的错误.(字符串字段加引号)5. 对索引列进行运算导致索引失效,我所指的对索引列进行运算...原创 2018-12-07 14:41:48 · 2286 阅读 · 0 评论 -
oracle导入导出记录
最近学习oracle数据备份的导入导出,这里记录一下,感谢网上提供资料大牛们的总结和分享。1.首先复制在网上看来的 exp/imp与expdp/impdp区别:(1) 把用户usera的对象导到用户userb,用法区别在于fromuser=usera touser=userb ,remap_schema=’usera’:'usera’ 。例如:imp system/passwd fromuser=...原创 2018-04-27 14:03:00 · 280 阅读 · 0 评论 -
sql优化的建议
sql的优化在工作中有很大的作用,看到网上有人总结,在此转载记录一下,原文http://www.cnblogs.com/rootq/archive/2008/11/17/1334727.html (1)选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在...转载 2018-03-07 10:21:56 · 289 阅读 · 0 评论 -
Oracle 行转列总结 Case When,Decode,PIVOT 三种方式
Oracle 行转列总结 Case When,Decode,PIVOT 三种方式最近又碰到行专列问题了,当时不假思索用的是子查询,做完后我询问面试管行专列标正的写法应该如何写,他告诉我说应该用"Decode",索性我就总结一下,一共三种方式 --=========建表语句 CREATE TABLE populations( country VARCHAR2(20),转载 2017-11-03 10:36:21 · 2247 阅读 · 0 评论 -
oracle中bitand()函数的使用
由于项目需要,经理要求我做一个可多选的下拉选框。我一听,so easy, 于是屁颠屁颠跑回座位,然后想想如何方便顺序的解决掉这个问题。思路如下:为了简化,有字典表 (表 T1) 另外还有张表需要用到这个: (表T2) 然后需要关联这个两个表做查询,查询出表T1的字典值,并做查询,如果要查询出含有1或者5的所有值转载 2017-11-08 11:25:56 · 7887 阅读 · 0 评论 -
Merge into 介绍
/*Merge into 详细介绍MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。*//*語法:MERGE [INT原创 2017-09-20 10:23:46 · 499 阅读 · 0 评论 -
group by的rollup、cube、grouping、grouping sets 的用法浅析
group by的rollup、cube、grouping、grouping sets 的用法浅析sql中group by后带cube子句的功能是对GROUP BY后面的字段所有的组合进行分组求和。首先有这样一张表t_zby_bgyp,作为演示的基础表:建表语句:-- Create tablecreate table T_ZBY_BGYP( i原创 2017-08-11 11:42:17 · 1512 阅读 · 0 评论 -
Oracle Connect By Prior(递归查询)简洁实例
oracle中的select语句可以用START WITH...CONNECT BY PRIOR子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是:select ... from where start with connect by ;:过滤条件,用于对返回的所有记录进行过滤。:查询结果重起始根结点的限定条件。:连接条件转载 2017-08-10 09:34:03 · 849 阅读 · 0 评论 -
oracle中的decode函数
DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。DECODE有什么用途 呢? 先构造一个例子,假设我们想给智星职员加工资,其标准是:工资在8000元以下的将加20%;工资在8000元以上的加15%,通常的做法是,先选出记录 中的工资字段值? select salary into v转载 2017-08-14 14:36:24 · 414 阅读 · 0 评论 -
SQL 语句转换格式函数Cast、Convert
SQL 语句转换格式函数Cast、ConvertCAST和CONVERT都经常被使用。特别提取出来作为一篇文章,方便查找。 CAST、CONVERT都可以执行数据类型转换。在大部分情况下,两者执行同样的功能,不同的是CONVERT还提供一些特别的日期格式转换,而CAST没有这个功能。 既然CONVERT包括了CAST的所有功能,而且CONVERT还能进行日期转换,那么为转载 2017-08-11 17:33:34 · 573 阅读 · 0 评论 -
Oracle trunc()函数的用法
--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2013-01-06 今天的日期为2013-01-062.select trunc(sysdate, 'mm') from dual --2013-01-01 返回当月第一天.3.sel转载 2017-08-03 14:51:20 · 216 阅读 · 0 评论 -
execute immediate的简单用法(oracle)
create or replace procedure proc_test(--参数区域)is--变量区域 --sql脚本 v_sql varchar2(2000) :=''; --记录学生数量 v_num number;begin--执行区域 -- execute immediate用法1:立刻执行sql语句原创 2017-08-10 14:29:42 · 1194 阅读 · 0 评论 -
oracle中逻辑与、逻辑或、逻辑与非函数的使用
1.逻辑与运算oracle中提供了逻辑与运算的函数,即:bitand(x,y)例如:select bitand(1,0) from dual --0select bitand(1,1) from dual --1select bitand(37,1) from dual -- 任何奇数与1按位与运算结果都为1select bitand(88,1) from dua原创 2017-08-10 11:05:22 · 6584 阅读 · 0 评论 -
oracle中instr函数和substr函数的浅用法
instr是一个字符串处理函数,几乎所有的字符串分隔都用到此函数。instr函数是返回要查询的字符串在源字符串中的位置。语法: instr( string1, string2, start_position,nth_appearance ) string1源字符串,要在此字符串中查找。string2转载 2017-08-10 10:14:40 · 416 阅读 · 0 评论 -
oracle中sqlcode和sqlerrm用法
sqlerrm:SQLERRM是一则函数。oracle sqlerrm函数 sqlerrm函数返回指定错误代码的错误信息。sqlcode:数据库操作的返回码,其中0--成功;-1--失败;100--没有检索到数据。用法:sqlerrm和sqlcode用法要注意的是不能直接在存储过程使用,他需要有一个变量来接受它,也就是它要赋值形式去实现;下面是一个简写的存储过程转载 2017-08-07 16:44:28 · 6330 阅读 · 0 评论